1
resposta

loop for no objeto validity

Olá Pessoal,

Gostaria de compartilhar a forma como busquei e mostrei as mensagens de erro.

Como o validity é um objeto, fiz um loop for retornando somente os as chaves com valores true:

function tipoDeErro(dado){
    for(let i in dado.target.validity){
        if(dado.target.validity[i]) {
            return i
        }
    }
}

Depois inseri a função tipoDeErro no objeto menssagensDeErro para buscar o erro específico:

   if(!evento.target.validity.valid){
        evento.target.parentElement.classList.add('input-container--invalido');
        const elementoAlvo = evento.target.parentElement.querySelector('.input-mensagem-erro');
        elementoAlvo.textContent = menssagensDeErro[tipoInput][tipoDeErro(evento)];

    }else{
        evento.target.parentElement.classList.remove('input-container--invalido');

    }

=)

1 resposta

Muito legal, é um incentivo para por em prática.