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

por que não valida? Por que o erros.length só vem 0?

Ola turminha, Ola Professores, não consigo validar, o erros.length, so vem zero(0), ou seja nunca é maior que zero(0). A função mensagemDeErros, não cria as LIs, e validaPaciente(paciente) só mostra 1 erro por vez, ao invés de devolver o array de erros.

var BOTAOFORM = document.querySelector("#adicionar-paciente");
BOTAOFORM.addEventListener("click",function(event){
    event.preventDefault();   
    var FORM = document.querySelector("#form-add");
    var TABELA = document.querySelector("#tabela-pacientes"); //pegando a tabela

    var paciente = objetoPegaDadosForm(FORM); //nosso OBJETO

    var erros = validaPaciente(paciente);// erro passou ser um array

     console.log(paciente);
     console.log(validaPaciente(paciente).length);
     if(erros.length == 0){
         mensagemDeErros(erros);
         return;
     }


 TABELA.appendChild(pegaObjeto(paciente));// mandando os dados para html
FORM.reset();
});




/**função pega dados de um OBJETO */
function pegaObjeto(OBJETO){
    var tr = document.createElement("tr");
    tr.classList.add("paciente");
    var nome = criaTD(OBJETO.nome,"info-nome");
    var peso = criaTD(OBJETO.peso, "info-peso");
    var altura = criaTD(OBJETO.altura, "info-altura");
    var gordura = criaTD(OBJETO.gordura,"info-gordura");
    var imc = criaTD(calculaIMC(OBJETO.peso,OBJETO.altura),"info-imc");
    /**mandando os dados para o html */
    tr.appendChild(nome);
    tr.appendChild(peso);
    tr.appendChild(altura);
    tr.appendChild(gordura);
    tr.appendChild(imc);

    return tr;

}
/********************FUNÇÕES *************************** */

function mensagemDeErros(ARRAYdeERROS){
    var ULErro = document.querySelector("#erro-digitado");
    ARRAYdeERROS.forEach(function(itens){
        var LInova = document.createElement("li");
        LInova.textContent = itens;
        ULErro.appendChild(LInova);
        return ULErro;
    });
  //  return ULErro;
}// fim da função

function validaPaciente(paciente){
    var erro = [];
   if(!validaAltura(paciente.altura)){
    erro.push ="Valores de altura Invalida passado no campo!";       
   }
    if(!validaPeso(paciente.peso)){
        erro.push = "Valores de peso Invalido passado no campo!";
    }
   if(paciente.gordura == ""){
       erro.push = "Valores de gordura Invalido passado no campo!";
   }
   if(paciente.nome == ""){
     erro.push = "Campo nome com dados Invalidos!";
  } 
  console.log(erro);
    return erro;
}//fim do validaPaciente

function objetoPegaDadosForm(FORM){

       paciente = {//temos que criar um OBJETO 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;
}// fim da função

function criaTD(dados,classe){
    var td = document.createElement("td");
    td.textContent = dados;
    td.classList.add(classe);
    return td;
}
1 resposta
solução!

ola pessoal consegui... depois de esfriar a cabeça....

erro.push = "Valores de peso Invalido passado no campo!"; //erro
erro.push( "Valores de peso Invalido passado no campo!");