2
respostas

O meu código do form.js está apontado uma falha e eu não sei como resolver

O código do meu form.js está apresentando uma falha, até já marquei no código para facilitar, ela aparece no console de dev do chrome e acredito que ela esteja de certo modo atrapalhando os demais de funcionarem. O Código:

// Aqui está  o código que automatiza o preencimento dda tabela/formulário
var botaoAdicionar = document.querySelector("#adicionar-paciente");
botaoAdicionar.addEventListener("click" , function(event){
    event.preventDefault();
    console.log("Fui Clicado!");

    var form = document.querySelector("#form-adiciona");
    var paciente = obtemPacienteDoFormulario(form);
    var erros = validaPaciente(paciente);
    if(erros.length > 0){
        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áalido");
            }
            if(validaAltura(paciente.altura)){
                erros.push("Altura é inválida");
            }
                exibeMensagensDeErro(erros);
                return erros;
        }
    }
    var pacienteTr = montaTr(paciente);
    var tabela = document.querySelector("#tabela-pacientes");
    tabela.appendChild(pacienteTr);
    form.reset();

    var mensagensErro = document.querySelector("#mensagens-erro");
    mensagensErro.innerHTML = "";


    var nomeTd = document.createElement("td");
    var pesoTd = document.createElement("td");
    var alturaTd = document.createElement("td");
    var gorduraTd = document.createElement("td");
    var imcTd = document.createElement("td");

    nomeTd.textContent = nome;
    pesoTd.textContent = peso;
    alturaTd.textContent = altura;
    gorduraTd.textContent = gordura;
    var imcTd = document.createElement("td");
    imcTd.textContent = calculaImc(peso,altura);

    pacienteTr.appendChild(nomeTd);
    pacienteTr.appendChild(pesoTd);
    pacienteTr.appendChild(alturaTd);
    pacienteTr.appendChild(gorduraTd);
    pacienteTr.appendChild(imcTd)
    var tabela = document.querySelector("#tabela-pacientes");
    tabela.appendChild(pacienteTr);
})

function obtemPacienteDoFormulario(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 montaTd(dado,classe){
    var td = document.createElement("td");
    td.classList.add(classe);
    td.textContent = dado;
    return td;
}

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"));
    tabela.appendChild(pacienteTr);
    form.reset();
}

function exibeMensagensDeErro(erros){
    var ul = document.querySelector("#mensagens-erro");
    ul.innerHTML="";

    erros.forEach(function(erro)){  // <---- O CONSOLE APONTA UM ERRO BEM AQUI, MAS NÃO ESTOU CONSEGUINDO ENCONTRAR !!!!!
        var li = document.createElement("li");
        li.textContent = erro;
        ul.appendChild(li);
    }
}
2 respostas
erros.forEach(erro => {
        var li = document.createElement("li");
        li.textContent = erro;
        ul.appendChild(li);
    })  <--------------------- Fechando aqui!

Creio que o problema seja o parênteses que não está pegando o restante da função.

obrigado colega, eu vou tentar