Skip to main content
Respondido

Script para validar datas (Ou usar IA?)


Bruno_Gabriel

Pessoal, preciso validar data no formato DD/MM/AAAA ou DD.MM.AAAA.
Não quero usar regex por causa da condição de saída. Alguém tem algo pronto?

Ou é melhor usar o IBM Watson para fazer tal validação?

@Pedro_Lucas @GabrielPetrone

Melhor resposta por Rafael_Figueiredo

Olá @Bruno_Gabriel Tudo bem?

Nesse caso eu recomendo a utilização de script para validar a data, pois é fácil de usar e customizar para o seu caso de uso.

O código abaixo retorna true para data valida e false para data invalida.

function run(data)
{
    var matches = /^(\d{2})[-\/\.](\d{2})[-\/\.](\d{4})$/.exec(data);
    if (matches == null) return false;
    var d = matches[2];
    var m = matches[1] - 1;
    var y = matches[3];
    var composedDate = new Date(y, m, d);
    return composedDate.getDate() == d &&
            composedDate.getMonth() == m &&
            composedDate.getFullYear() == y;
}

image

Este tópico foi fechado para respostas.

4 comentários

Rafael_Figueiredo
Blipper
Forum|alt.badge.img+6

Olá @Bruno_Gabriel Tudo bem?

Nesse caso eu recomendo a utilização de script para validar a data, pois é fácil de usar e customizar para o seu caso de uso.

O código abaixo retorna true para data valida e false para data invalida.

function run(data)
{
    var matches = /^(\d{2})[-\/\.](\d{2})[-\/\.](\d{4})$/.exec(data);
    if (matches == null) return false;
    var d = matches[2];
    var m = matches[1] - 1;
    var y = matches[3];
    var composedDate = new Date(y, m, d);
    return composedDate.getDate() == d &&
            composedDate.getMonth() == m &&
            composedDate.getFullYear() == y;
}

image


Bruno_Gabriel
  • Autor
  • Inspiring
  • April 23, 2022

Rafael e se o cliente quiser agendar tipo: Dia 9 de março. Consigo fazer isso com o Watson né? Ou ê melhor o LUIS?


Rafael_Figueiredo
Blipper
Forum|alt.badge.img+6

Olá @Bruno_Gabriel , tudo bem ? É possível fazer isso com as IA e você pode escolher a que for mais adequada com seu projeto, mas entenda que se for usar IA e script isso pode dar conflito na navegação se não for feito de forma correta.


GabrielPetrone
Blipper
Forum|alt.badge.img+1

Fala @Bruno_Gabriel meu querido.
O @Rafael_Figueiredo detonou no script hein, e ele pode ser melhorado com outros inputs também, xique demais!

Para contribuir uma vez que você tem interesses em colocar IA, você pode procurar sobre Named Entity Recognition que isso pode te ajudar de alguma forma. Não sou expert nesse conceito mas eu uso para validar a entidade do input, ou seja, você pode validar se o usuário inseriu uma data de fato antes mesmo de rodar o script. É TOP DEMAIS!
Olha um exemplo:

Segue uma docs da Azure, que foi a que eu usei pro teste acima:

Vale a pena você dar uma olhada nisso e evoluir ainda mais o seu chatbot. :happyblip:
Vai ficar demais.

Abraços.