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

Dúvida na utilização do condicional if

Se eu estou usando essa estrutura condicional abaixo:

if(!validaPaciente(paciente)){
        alert('Dados inválidos!');
        return;
    }

Qual a utilidade de utilizar essas outras duas estruturas abaixo que adiciona uma class se os dados estiverem inválidos?

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");
    }

acredito eu que não há mais necessidade de utilizar, uma vez que os dados não serão mais enviados se estiverem incorretos. Gostaria de uma opinião profissional.

1 resposta
solução!

Oi Marcos, tudo bom?

Nesse caso, depende do que a função validaPaciente faz.

Se essa função valida o peso E a altura, então realmente não há necessidade.

O único problema dessa abordagem é que o usuario final perde um pouco de informação.

É muito mais facil o usuario encontrar onde ele errou com a menssagem:

Peso inválido ou Altura inválida

Do que: Dados inválidos!

A ultima menssagem não deixa claro qual campo está inválido. Claro que no código fica muito mais coeso e semantico a linha:

if(!validaPaciente(paciente)){ ...

Talvez a melhor abordagem seja uma junção das duas. Encapsular a validação de peso e altura dentro da função validaPaciente. Assim a gente mantém a semantica e o usuario não perde informação =)

Abraço