Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Ainda consigo me cadastrar tendo menos de 18

Tendei utilizar uma unica função para fazer essa validação porem ela não esta excecutando corretamente, pois ainda é possivel cadastrar com uma data menor que 18 anos

const dataNascimento = document.querySelector('[data-nascimento]');
dataNascimento.addEventListener('blur', (evento)=> {
  validacao(evento.target)
})

const validacao = (input)=> {
  const diaAtual = new Date();
  const dataRecebida = new Date(input.value);
  const dataMais18 =  new Date(dataRecebida.getFullYear() + 18, dataRecebida.getMonth(), dataRecebida.getDate());
  let mensagem = '';

  if(!dataMais18 <= diaAtual){
    mensagem = 'Você precisa ter mais que 18 anos para se cadastrar'
  }

  input.setCustomValidity(mensagem)
}
1 resposta
solução!

Descobri meu erro já. Estava faltando determinar até onde eu queria que fosse negação no "if". Aqui esta onde corrigi

if(!(dataMais18 <= diaAtual)){
    mensagem = 'Você precisa ter mais que 18 anos para se cadastrar'
  }