Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Alinhamento de lista

Estou fazendo a aula 6 exercício 3 do curso de Curso JavaScript: Programando na linguagem da web, e tive um problema com relação aos erros, pois ele estão aparecendo em linha na minha tela, desse modo:

"Peso Invalido!O peso não pode estar vazioAltura InvalidaO campo altura não pode estar vazioO nome não pode estar vazioO Campo gordura não pode estar vazio"

Sendo que deveriam estar empilhados. Alguem sabe me dizer oque fiz de errados? Não consegui encontrar o erro

Segue o código JavaScript: Caso precise do código dos outros arquivos eu mando, mas acredito q o erro esta aqui poi é nesse código q ocorre a impressão dos erros:

var botaoAdicionar = document.querySelector("#adicionar-paciente");
botaoAdicionar.addEventListener("click", function(event){
event.preventDefault();

var form = document.querySelector("#form-adiciona");

var paciente = obtemPacienteDoForm(form);
var erros = validaPaciente(paciente);
var pacienteTr = criaTr(paciente);

if (erro.length > 0){
  mensagemErro(erros);
  return;
}

var tabela = document.querySelector("#tabela-pacientes");
tabela.appendChild(pacienteTr);



    });

    function obtemPacienteDoForm(form){
      var paciente = {
        nome: form.nome.value,
        peso: form.peso.value,
        altura: form.altura.value,
        gordura: form.gordura.value,
        imc: imcCalc(form.peso.value, form.altura.value)
      }

      return paciente;
    }
    function criaTr(paciente){

      var pacienteTr = document.createElement("tr");
      pacienteTr.classList.add("paciente");

      pacienteTr.appendChild(criaTd(paciente.nome, "info-nome"));
      pacienteTr.appendChild(criaTd(paciente.peso, "info-peso"));
      pacienteTr.appendChild(criaTd(paciente.altura, "info-altura"));
      pacienteTr.appendChild(criaTd(paciente.gordura, "info-gordura"));
      pacienteTr.appendChild(criaTd(paciente.imc, "info-imc"));

      return pacienteTr;
    }

    function criaTd(dado, classe){
      var td = document.createElement("td");

      td.textContent = dado;
      td.classList.add(classe);
      return td;
    }
    function validaPaciente(paciente){
     erro = [];

     if(!validaPeso(paciente.peso)){
       erro.push("Peso Invalido!");
     }
     if(paciente.peso.length == 0){
       erro.push("O peso não pode estar vazio");
     }
     if (!validaAltura(paciente.altura)){
       erro.push("Altura Invalida");
     }
     if(paciente.altura.length == 0){
       erro.push("O campo altura não pode estar vazio");
     }
     if(paciente.nome.length == 0){
       erro.push("O nome não pode estar vazio");
     }
     if (paciente.gordura.length == 0) {
       erro.push("O Campo gordura não pode estar vazio");
     }
     return erro;
     }
     function mensagemErro(erros){

       var ul = document.querySelector("#msg-erro");
       ul.innerHTML = "";
       erros.forEach(function(erro){
         var li = document.createElement("id");
         li.textContent = erro;
         ul.appendChild(li);
       })

     }
2 respostas
solução!

Amigo, está errado, é "li"

errado:
var li = document.createElement("id");
certo:
var li = document.createElement("li");

Nossa, lerdei legal nessa, vlw Júlio

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software