2
respostas

Validação do peso e altura no form

A validação funciona no calcula-imc.js para os dados que já foram inputados direto no HTML, mas e os que o usuário insere no form?

Dentro da função montaTr inclui, com algumas alterações, o mesmo bloco de código que valida peso e altura em calcula-imc.js.

function montaTr(paciente){
    var pacienteTr = document.createElement("tr");
    pacienteTr.classList.add("paciente");

    /*Colocar o TD do paciente na tabela*/
    pacienteTr.appendChild(montaTd(paciente.nome,"info-nome"));
    pacienteTr.appendChild(montaTd(paciente.peso,"info-peso"));
    pacienteTr.appendChild(montaTd(paciente.altura,"info-altura"));
    pacienteTr.appendChild(montaTd(paciente.gordura,"info-gordura"));
    pacienteTr.appendChild(montaTd(paciente.imc,"info-imc"));

    /*Validar peso*/
    if (paciente.peso <= 0 || paciente.peso >= 200){       
        tdImc.textContent = "Peso inválido";
        pacienteTr.classList.add("paciente-invalido");
    }

    /* Validar altura */

    return pacienteTr;
}

Entretanto, não consegui obter o texto de peso ou altura inválidos. A Td até pega o style CSS lightcoral, mas o textContent é "Infinity".

Poderiam me ajudar a acrescentar essa validação nas Tds inseridas do form?

Obrigado.

2 respostas

No capítulo seguinte foram dadas informações de como fazer essa validação utilizando funções.

Boa noite, Gabriel! Como vai?

Veja que dentro do if da sua função, vc utiliza uma variável chamada tdImc, mas que não foi definida em nenhum momento! Pelo trecho de código que vc apresentou, imagino que esse seja o problema!

Inclusive, pra fazer sentido eu usaria tdPeso para ser mais semântico.

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos!