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

As minhas validações estão incorretas

Nos 3 ifs que temos nos códigos temos 3 validações, uma para verificar se o peso está incorreto outra para verificar se a altura está incorreta e a última a única que está funcionando no meu código que é a que retorna pese e/ou altura incorreta, mesmo quando só o peso está incorreto ou somente a altura está incorreta está retornando o resultado da última verificação e isso não está correto pois no vídeo o do instrutor funciona da maneira correta .

Segue meu código js

var titulo_principal = document.querySelector(".titulo_principal");
titulo_principal.textContent = ('Aparecida Nutricionista');

var paciente = document.querySelector("#primeiro-paciente");
var tbPeso = paciente.querySelector(".info-peso");
var tbAltura = document.querySelector(".info-altura");
var tbImc = document.querySelector(".info-imc");

var peso = tbPeso.textContent;
var altura = tbAltura.textContent;

pesoEhValido = true;
alturaEhValido = true;

if ( peso <= 0 || peso >= 1000) {
    pesoEhValido = false;
    console.log("PESO INVÁLIDO");
    tbImc.textContent = "PESO INVÁLIDO";
}

if (altura <= 0 || altura >= 3) {
    alturaEhValido = false;
    console.log("ALTURA INVÁLIDA");
    tbImc.textContent = "ALTURA INVÁLIDA";
}

if (pesoEhValido && alturaEhValido) {

    var imc = peso / (altura * altura);
    tbImc.textContent = imc;

}else {

    console.log("PESO E/OU ALTURA INVÁLIDOS");
    tbImc.textContent = "PESO E/OU ALTURA INVÁLIDOS";

}
3 respostas
solução!

Fala ai Mauricio, tudo bem? O problema é por conta do seu último if ter um else, ele que esta causando essa treta.

Porque se o peso ou altura forem inválidos, ele vai entrar em cada if individual e mudar a mensagem, mas, tambem vai cair no else final.

No caso, você poderia remover esse ultimo else, não acho que faz sentido ter ele ja que ambos são validados de forma individual.

Espero ter ajudado.

Obrigado pelo retorno era justamente essas validações que eu queria. Deu certo !

Magina Mauricio, sempre que precisar não deixe de criar suas dúvidas.

Abraços e bons estudos.

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