Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

textContent da condição if

Não seria correto eu retirar o textContent = "Peso Invalido!" e "Altura Inválida!" da função if ? Afinal a mensagem que vai prevalecer é o textContent = "Altura e/ou peso inválidos!" que colocamos na função else. Correto?

if (altura <= 0 || altura >= 3){        
        tdImc.textContent = "Altura Inválida";
        alturaEhValida = false;

        paciente.classList.add("paciente-invalido");
    }

    if (alturaEhValida && pesoEhValido) {
        var imc = peso / (altura * altura);
        tdImc.textContent = imc.toFixed(2);        
    } else {
        tdImc.textContent = "Altura e/ou peso inválidos!"
    }
1 resposta
solução!

Olá Emerson, tudo bem com você?

Eu dei uma olhada nas aulas mas não vi o professor adicionando esse else, então vou supor que você que colocou

Mas você está exato em seu ponto! Se entrar dentro do primeiro if com certeza irá cair no else da validação, então neste caso você pode tomar 1 das 2 alternativas:

  • Retirar o textContent das funções

Exatamente a sua sugestão, já que só irá prevalecer o else podemos retirar tranquilamente:

         tdImc.textContent = "Altura Inválida";
  • Retirar o else

Essa é uma outra alternativa, dessa maneira teremos mensagens mais específicas dependendo de onde o usuário teve problema em cadastrar o formulário, dessa maneira teríamos o tdImc.textContent = "Mensagem de Erro" tanto na validação de altura e peso :)

Então fica ao seu critério, uma mensagem mais específica do campo que deu problema, ou algo mais genérico

Abraços e Bons Estudos!