4
respostas

campo.setCustomValidity(); explicação não esta clara

ola! Poderia me explicar o porque das mensagens estarem diferentes,

campo.setCustomValidity('O usuário não é maior de idade');
 campo.setCustomValidity('Esse cpf não é válido')

na tela aparece outra mensagem diferente do ensinado ,

4 respostas

Estou com essa dúvida também. As mensagens de erro permanecem as mesmas de antes da inserção do setCustomValidity.

estou com a mesma duvida, e a mensagem de erro customizada não esta aparcendo em baixo do campo de data.

possuo mesma duvida irei continuar o curso e depois volto pra ver se tem alguma novidade sobre esse caso...

   tiposDeErro.forEach(erro => {   

        if(campo.validity[erro]) {

            mensagem = mensagens[campo.name][erro];

            console.log(mensagem);
        }

    })

Ela criou previamente uma lista de mensagens que deverão ser impressas para cada tipo de erro. A lógica do código que ela criou foi para imprimir apenas as mensagens previamente criadas.

Quando ela colocou o "setCustomValidity(" "), ela apenas habilitou o erro customizado para que o validity passe a pegar esse erro.

Para habilitar o "setCustomValidity(" ")" é necessário ter algo dentro das aspas.

Por exemplo, se ela não tivesse escrito nada dentro das aspas e tivesse colocado apenas um espaço, teria funcionado normalmente, pois com isso ela habilitou o erro customizado e o "validity" teria pegado o erro e teria impresso a mensagem previam criada para o "customError" da lista.

Resumindo, "setCustomValidity(" ")" habilitou o "customError" do validity e a função criada irá imprimir a mensagem previamente feita para esse tipo de erro. Então, o que foi escrito dentro do "setCustomValidity(" ")" não é o que vai ser impresso.

Espero ter ajudado.

Sucesso na sua jornada!

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