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

Resolvido - Como eu posso fazer para que no input de data de nascimento, o primeiro erro seja respeitado?

Respondendo a uma dúvida postada aqui por um colega a 3 meses atrás que tinha a seguinte dúvida:

                                    "Fica um pouco incoerente a ideia de eu digitar nada e aparecer o erro de que não sou maior de idade. Esse tipo de validação pode acontecer várias vezes, então gostaria de saber se tem como respeitar o erro de valueMissing antes do customError

                                    Outra dúvida, nos outros inputs, essa ordem é respeita. O site não aceita o email vazio e depois não aceita qualquer nome como email, isso acontece pois o customError tem prioridade sobre todos?"

O que acontece é que nos outros inputs os erros são exclusivos, ou ocorre o valueMissing ou ocorre o typeMismatch, por exemplo, já neste caso, tanto o customError quanto o valueMissing apresentam valores true, e aí o customError subscreve o valueMissing.

2 respostas
solução!

Consegui resolver este erro da seguinte forma:

function mostraMensagemErro(tipoDeInput, input) {
    let mensagem = '';

    tiposDeErro.forEach(erro => {
        if (input.validity[erro]) {
            if (erro == 'valueMissing'){
                mensagem = mensagensErro[tipoDeInput]['valueMissing']
            }
            if (mensagem == ''){
                mensagem = mensagensDeErro[tipoDeInput][erro]
            } 
        }
    })

    return mensagem
}

Muito bom, parabéns!