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 :)