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

Consigo validar o Peso, mas não consigo validar a altura

Quando texto a validação do peso funciona normal, mas o da altura não. Segue o meu calcule-imc.


var pacientes = document.querySelectorAll(".paciente");

for( var i = 0; i < pacientes.length; i++) {

    var paciente = pacientes[i];

    var tdPeso = paciente.querySelector(".info-peso");
    var peso = tdPeso.textContent;

    var tdAltura = paciente.querySelector(".info-altura");
    var altura = tdAltura.textContent;

    var tdImc = paciente.querySelector(".info-imc");

    var pesoEhValido = validaPeso(peso);
    var alturaEhValida = validaAltura(altura);

    if (!pesoEhValido) {
        console.log("Peso inválido!");
        pesoEhValido = false;
        tdImc.textContent = "Peso inválido!";
        paciente.classList.add("paciente-invalido");
    }

    if (!alturaEhValida) {
        console.log("Altura inválida!");
        alturaEhValida = false;
        tdImc.textContent = "Altura inválida!";
        paciente.classList.add("paciente-invalido");
    }

    if(alturaEhValida && pesoEhValido) {
        var imc = calculaImc(peso, altura);
    tdImc.textContent = imc;
    }
}

function validaPeso(peso){
    if(peso >= 0 && peso <= 1000) {
        return true;
    }else{
        return false;
    }
}

function validaAltura(altura){
    if(altura => 0 && altura <= 3.0) {
        return true;
    }else{
        return false;
    }
}



function calculaImc(peso, altura) {
    var imc = 0;
    imc =  peso / (altura * altura);
    return imc.toFixed(2);
}

Eu não consegui achar o erro. Mas percebi que quando eu passo o mouse por cima do paramentro da minha função validaAltura o visual code mostra uma mensagem de correção dizendo que altura é declarado, mas seu valor nunca é lido, mas eu não entendi o que quer dizer.

1 resposta
solução!

Encontrei o erro. Um erro bobo, mas deu trabalho. Em vez de colocar altura >= 0, eu coloquei altura => 0.

ERRADO

function validaAltura(altura){
    if(altura => 0 && altura <= 3.0) {
        return true;
    }else{
        return false;
    }
}

CERTO

function validaAltura(altura){
    if(altura >= 0 && altura <= 3.0) {
        return true;
    }else{
        return false;
    }
}