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

Exibindo mensagens de erro

Uma vez que aparecida a mensagem de span, depois que corrijo o peso, por exemplo, e o formulário envia os dados para a tabela, a mensagem de span continua lá. Como fazer pra ela sumir depois que corrijo o erro?

var pacienteTr=montaTr(paciente);
var erros=validaPaciente(paciente);
    if(erros.length>0){
        var mensagemErro=document.querySelector("#mensagem-erro");
        mensagemErro.textContent=erros;
        return;
    }
    var tabela=document.querySelector("#tabela-pacientes");
    tabela.appendChild(pacienteTr);
    form.reset();
function validaPaciente(paciente){
    var erros=[];
    if(!validaPeso(paciente.peso)) erros.push("Peso é inválido");
    if(!validaAltura(paciente.altura)) erros.push("Altura é inválida!");
    return erros;
}
2 respostas
solução!

Olá amigo, sou iniciante e estou fazendo o curso também, ainda não vi a parte depois dessa aula então não sei se o professor apresentou a solução ou mesmo se vc descobriu sozinho. Também não sei se a forma que eu vou sugerir é considerada correta ou uma gambiarra, tomara que venha alguém mais experiente pra nos ajudar mas acho que dá pra fazer o seguinte:

mover a variável "mensagemErro" pra fora do "if" e logo após o "if" acrescentar "mensagemErro.textContent = ''".

Testa aí e vê se dá certo, aqui funcionou. Se achar outro bug manda ai pra gente quebrar a cabeça junto! Abração!!

var pacienteTr=montaTr(paciente);
var erros=validaPaciente(paciente);

var mensagemErro=document.querySelector("#mensagem-erro");

    if(erros.length>0){
        mensagemErro.textContent=erros;
        return;
    }

    mensagemErro.textContent = "";

    var tabela=document.querySelector("#tabela-pacientes");
    tabela.appendChild(pacienteTr);
    form.reset();

Obrigado Ramon, você está corretíssimo!