Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Parâmetro 'blur'

Não entendi porque mesmo a função de validação sendo chamada após a perda do foco (evento 'blur') do input da data de nascimento a mensagem 'Você deve ser maior que 18 anos para se cadastrar.' não aparece, só quando clico em 'Cadastrar', como feito pelo o professor.

Esse tópico já tinha sido aberto por André, mas o mesmo não recebeu resposta então estou postando novamente na esperança de um esclarecimento :)

4 respostas

Fala Giulia, tudo bem? Espero que sim!

O que acontece é que, na função validaDataDeNascimento, nós estamos apenas setando a mensagem erro, que é o que o método setCustomValidity é responsável. Quem fica responsável por MOSTRAR essa mensagem é o próprio html quando submetemos o formulário.

Espero ter ajudado, abraços e bons estudos :D

Obrigada pela resposta, Mateus, mas ainda não entendi o porque do uso do EventListener com o blur, se o que ativa a mensagem de erro somente é o botão 'Cadastrar'.

Não seria melhor só chamar a função validaDataNascimento(evento.target)?

solução!

Isso acontece porque o Html verifica os erros antes de chamar o submit, então precisamos de alguma forma adicionar o erro antes, e por isso executamos a função somente ao blur do input.

Entendi, Matheus. Obrigada!