Boa tarde, eu estou com um problema com a validação da idade, fiz do jeito que está sendo explicado no vídeo, porém quando aplica a idade, ele permite que menores de 18 façam o cadastro, dei uma olhada aqui no fórum e percebi que outras pessoas estavam tendo esse tipo de problema, porém nenhuma solução aplicada que eu vi, resolveu o meu. Será que alguém pode dar uma olhada e ver oq eu estou fazendo de errado.
export function valida(input) {
const tipoDeInput = input.dateset.tipo
if (validadores[tipoDeInput]){
validadores[tipoDeInput](input)
}
}
const validadores = {
dataNascimento:input => validaDataNascimento(input)
}
const dataNascimento = document.querySelector('#nascimento')
dataNascimento.addEventListener('blur', (evento) => {
validaDataNascimento(evento.target)
})
function validaDataNascimento(input) {
const dataRecebida = new Date(input.value)
let mensagem = ''
if (!maiorQue18(dataRecebida)){
mensagem = 'Você deve ser maior que 18 anos para se cadastrar.'
}
input.setCustomValidity(mensagem)
input.reportValidity();
}
function maiorQue18(data) {
const dataAtual = new Date()
const dataMais18 = new Date(data.getUTCFullYear() + 18, data.getUTCMonth(), data.getUTCdate())
return (dataMais18 <- dataAtual)
}