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

Validação da data de nascimento não funciona

Olá! Copiei o código igual ao professor, ainda tentando acompanhar a lógica e não funcionou a validação, mesmo que eu coloque uma data menor que dezoito o formulário é enviado, já peguei o código do professor e colei também e continua enviando, mesmo com a idade abaixo de 18. Com o código do professor aparece um erro no meu console:

Uncaught SyntaxError: Unexpected token 'export'

Sendo que a sintaxe do export está correta (eu acho) Vou colar o código aqui:

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

  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)
}

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

  return dataMais18 <= dataAtual
}
1 resposta
solução!

Fui pra outra aula e o professor muda o nome do arquivo de script no HTML, dessa vez funcionou! Vou solucionar a dúvida por conta disso.

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