Ola...
Minha validação não está funcionando e não estou conseguindo encontrar oq está errado. Vou compartilhar meus códigos abaixo:
app.js
import { valida } from './validacao'
const inputs = document.querySelectorAll('input');
inputs.forEach(input => {
input.addEventListener('blur', (evento) => {
valida(evento.target);
})
})
validacao.js
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;
}
Trecho do html
</main>
<script src="assets/js/app.js" type="module"></script>
</body>
</html>