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

setCustomValidity não está funcionando

Repliquei o código passado em aula, porém não me mostra a mensagem de erro. Testei, caso a variável "mensagem" estava funcionando de forma correta, e estava, do mesmo jeito que não cadastrava menores de 18 anos. Segue a função de validação:

function validaDataNascimento(input) {
    const dataRecebida = new Date(input.value);
    let mensagem = "";

    if (!maiorQue18(dataRecebida)) {
        mensagem = "Você deve ser maior que 18 anos para poder se cadastrar.";
    }
    console.log(mensagem);
    input.setCustomValidity(mensagem);
}
2 respostas

Bruno, boa noite!

Comigo aconteceu o mesmo problema. Verifique se a tag input está com "required".

<input name="nascimento" id="nascimento" class="input" type="date" placeholder="Data de nascimento" required>
solução!

Realizei alguns testes e, aparentemente, a caixa de mensagem padrão só nos mostra o erro do primeiro campo com erro. Caso mais de um campo possua erros, só nos irá mostrar uma caixa de erro. Ou seja, os campos anteriores devem estar corretos e mesmo assim a caixinha criada é bem bugada

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software