Não consegui evoluir na aula 06, devido ao erro abaixo apresentado no chrome:
form.js:27 Uncaught TypeError: erros.forEach is not a function at exibeMensagensErro (form.js:27) at HTMLButtonElement. (form.js:14)
Onde está o erro no fonte abaixo?
var btnadicionar = document.querySelector ("#adicionar-paciente");
btnadicionar.addEventListener("click",function(event){
event.preventDefault();
var form = document.querySelector("#form-adiciona");
var paciente = obtemPacienteForm(form);
var pacienteTr = montaTr(paciente);
var erros = validaPaciente(paciente);
console.log(erros);
if (erros.length > 0){
exibeMensagensErro(erros);
return;
}
var tabela = document.querySelector ("#tabela-pacientes");
tabela.appendChild(pacienteTr);
form.reset();
});
function exibeMensagensErro(erros){
var ul = document.querySelector("#mensagens-erro");
erros.forEach(function(erro){
var li = document.createElement("li");
li.textContent = erro;
ul.appendChild(li);
});
}
// function exibeMensagemErro(erros){
// var ul = document.querySelector("#mensagens-erro");
// for(var i=0; i<erros.length; i++){
// var erro = erros[i];
// var li = document.createElement("li");
// li.textContent = erro;
// ul.appendChild(li);
// }
// }
function obtemPacienteForm(form){
var paciente = {
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 paciente;
}
function montaTr(paciente){
var pacienteTr = document.createElement ("tr");
pacienteTr.classList.add("paciente");
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"));
return pacienteTr
}
function montaTd(dado,classe){
var td = document.createElement("td");
td.textContent = dado;
td.classList.add(classe);
return td;
}
function validaPaciente(paciente){
if (validaPeso(paciente.peso)){
return "";
}else{
return "Peso inválido!";
}
}
Obrigado! Flávio