1
resposta

Formulário é enviado mesmo com menos que 18 anos

Fazendo e refazendo o script o formulário permite o envio mesmo com idade menor que 18 anos. Conseguem me ajudar? Segue abaixo o código.

export function valida(input) { const tipoDeInput = input.dataset.tipo

if(validadores[tipoDeInput]) {
    validadores[tipoDeInput](input)
}

}

const validadores = { dataNascimento:input => validaDataNascimento(input) }

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)

}

function maiorQue18(data) { const dataAtual = new Date() const dataMais18 = new Date(data.getUTCFullYear() + 18, data.getUTCMonth(), data.getUTCDate())

return dataMais18 <= dataAtual

}

1 resposta

Oi André, tudo bem?

No arquivo cadastro.html você consegue me mandar o código de como você está chamando o arquivo script? Ou seja, como você está utilizando a tag <script>? Acredito que seja algum problema relacionado a isso, pois a sua função que valida o campo de nascimento está correta!

Fico no aguardo, abraços =)