Respondido

Script para validar datas (Ou usar IA?)


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

icon

Melhor resposta por Rafael_Figueiredo 23 April 2022, 15:13

Veja o original

4 comentários

Reputação 7
Crachá +3

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

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

Reputação 7
Crachá +3

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.

Reputação 7
Crachá +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.

Comente