Olá, Na aula foi mostrado que se o input estivesse vazio a mensagem de erro seria "o input não pode estar em branco" se o input estivesse com valor errado (peso ou altura) o erro seria Input inválido no entanto quando o input fica vazio aparece as duas mensagens.
var botao = document.querySelector("#adicionar-paciente");
botao.addEventListener("click", function(){
event.preventDefault();
var form = document.querySelector("#formulario");
var pacientenew = pacientenovo(form)
var tabelanova = criaTable(pacientenew)
var validar = validapaciente(pacientenew);
if (validar.length > 0) {
exibemensagem(validar)
return;
}
var tabela= document.querySelector("#tabela-pacientes");
tabela.appendChild(tabelanova);
form.reset();
})
function pacientenovo(form){
var novopaciente = {
nome:form.nome.value,
peso:form.peso.value,
altura:form.altura.value,
gordura:form.gordura.value,
imc:calculaImc(form.peso.value,form.altura.value)
}
return novopaciente
}
function criaTable(pacientenew){
var tr = document.createElement("tr");
tr.classList.add("paciente")
var tdnome=montaTd(pacientenew.nome,"info-nome")
var tdpeso=montaTd(pacientenew.peso,"info-peso")
var tdaltura=montaTd(pacientenew.altura,"info-altura")
var tdgordura=montaTd(pacientenew.gordura,"info-gordura")
var tdimc=montaTd(pacientenew.imc,"info-imc")
tr.appendChild(tdnome);
tr.appendChild(tdpeso);
tr.appendChild(tdaltura);
tr.appendChild(tdgordura);
tr.appendChild(tdimc);
tdpeso.textContent=pacientenew.peso;
tdaltura.textContent=pacientenew.altura;
tdgordura.textContent=pacientenew.gordura;
tdimc.textContent=pacientenew.imc;
return tr
}
function montaTd(dado,classe){
var td = document.createElement("td");
td.classList.add(classe)
td.textContent=dado;
return td
}
function validapaciente(pacientenew){
var erros = [];
if (pacientenew.nome.length==0) {erros.push("Nome não pode estar vazio!!!");}
if (!pesoValido(pacientenew.peso)) {erros.push("Peso inválido");}
if (!alturaValida(pacientenew.altura)) {erros.push("Altura inválida");}
if (pacientenew.altura.length==0) {erros.push("Altura não pode estar vazia!!!");}
if (pacientenew.gordura.length==0) {erros.push("Gordura não pode estar vazia!!!");}
return erros
}
function exibemensagem(validar){
var ul = document.querySelector("#erro");
validar.forEach(function(erro){
var li = document.createElement("li");
li.textContent = erro;
ul.appendChild(li);
});
}