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

Sugestão

Boa noite. Na verdade não é uma dúvida e sim uma sugestão. No lugar de usar:

// form.js
function validaPaciente(paciente) {

    var erros = [];

    if (paciente.nome.length == 0) {
        erros.push("O nome não pode ser em branco");
    }

    if (paciente.gordura.length == 0) {
        erros.push("A gordura não pode ser em branco");
    }

    if (paciente.peso.length == 0) {
        erros.push("O peso não pode ser em branco");
    }

    if (paciente.altura.length == 0) {
        erros.push("A altura não pode ser em branco");
    }

    if (!validaPeso(paciente.peso)) {
        erros.push("Peso é inválido");
    }

    if (!validaAltura(paciente.altura)) {
        erros.push("Altura é inválida");
    }

    return erros;
}

Podemos usar algo como:

// form.js
function validaPaciente(paciente) {

    var erros = [];

    if (paciente.nome.length == 0) {
        erros.push("O nome não pode ser em branco");
    }

    if (paciente.gordura.length == 0) {
        erros.push("A gordura não pode ser em branco");
    }

    if (paciente.peso.length == 0) {
        erros.push("O peso não pode ser em branco");
    }else{
    if (!validaPeso(paciente.peso)) {
        erros.push("Peso é inválido");
    }
} 

    if (paciente.altura.length == 0) {
        erros.push("A altura não pode ser em branco");
    }else{
    if (!validaAltura(paciente.altura)) {
        erros.push("Altura é inválida");
       }
}

    return erros;
}

Com isto, consegui que, ao invés de mostrar a mensagem que o campo não pode estar em branco junto com a mensagem de campo inválido para peso e altura, ele mostra ou uma ou outra de acordo com o erro.

Espero ajudar :)

1 resposta
solução!

Boa noite, Renato! Como vai?

Obrigado por compartilhar sua solução conosco! Assim todos crescemos juntos e fazemos da Alura uma plataforma cada vez melhor! Continue assim!

Grande abraço e bons estudos, meu aluno!