Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Validaçao da data de nascimento.

O meu codigo continua validando a data de nascmimneto mesmo sendo de uma data inferior a 18 anos.

fiz exatamente igual do professor e na duvida copiei o codigo fonte da aula e executei, esta dando o mesmo erro! praciso de ajuda

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
}
3 respostas

Fala José, tudo bem? Espero que sim!

Poderia mostrar o código onde você utiliza a função valida, por favor?

Aguardo o retorno :D

solução!

Matteus Henrique, tudo bem por aqui! segue os códigos (Ambos os códigos foram passados em aula e ambos dao o mesmo erro. recentemente no meu projeto esta o segundo código.)

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

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

    if(input.validity.valid) {
        input.parentElement.classList.remove('input-container--invalido')
        input.parentElement.querySelector('.input-mensagem-erro').innerHtml = '';
    } else {
        input.parentElement.classList.add('input-container--invalido')
        input.parentElement.querySelector('.input-mensagem-erro').innerHtml =  mostraMenssagemDeErro(tipoDeInput, input)
    }
}

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

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

    }
}

Eu preciso do projeto compactado para que possa rodar na minha máquina entende? Pois o problema aparentemente não está no código, então compacte o projeto inteiro no formato zip e envie para o drive, mega ou mediafire por favor!

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