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

Erro validaPaciente

Quando compilo o código ao inspecionar exibe erro de variável na linha abaixo.

var erros = validaPaciente(paciente);

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

var form = document.querySelector("#form-adiciona");
var paciente = obtemPacienteDoFormulario(form);
var pacienteTr = montaTr(paciente);

var erros = validaPaciente(paciente);
console.log(erros);
if (erros.length > 0){
  var mensagemErro = document.querySelector("#mensagem-erro");
  mensagemErro.textContent = erros;
  return;
}

  //adicionando paciente na Tabela
var tabela = document.querySelector("#tabela-pacientes");
tabela.appendChild(pacienteTr);
form.reset();

});

function exibeMensagemDeErro(erros){ var ul = document.querySelector("#mensagens-erro"); erros.foreach(function(erro){ var li = document.createElement("li"); li.textContent = erro; ul.appendChild(li); });

}

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 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.classList.add(classe); td.textContent = dado;

return td;

}

6 respostas

Olá, Kléber! Tudo bom?

Pode me mostrar qual o texto do erro também?

function exibeMensagensDeErros(erros) {
    var ul = document.querySelector('#mensagens-erros')
    erros.forEach(function(erro) {
        var li = document.createElement('li')
        li.textContent = erro
        ul.appendChild(li)
    });
}

Olha eu vi co que se colocar erros.foreach sem a upercase no E ou seja erros.forEach alguns erros não aparacem bom se não for esse problema e puder coloca mais algum detalhe ou o código completo, bom só quis ajudar :D

Bom dia. Erro no valida Paciente.

Uncaught ReferenceError: validaPaciente is not defined
    at HTMLButtonElement.<anonymous> (form.js:9)
(anonymous) @ form.js:9

Bom dia! Onde você está definindo essa variável? Não encontrei no código que você enviou.

Pelo erro, parece que ele está procurando essa variável e não está achando. Ela está em outro arquivo?

solução!

Boa Tarde Juliana .

Pode finalizar esse caso. Eu tinha apagado o método ValidaPaciente. Abri essa questão no fórum porque estava procurando e nada de achar, com muito custo deu certo. Obrigado

Boa tarde! Fico feliz que tenha conseguido! Vou marcar esse tópico como solucionado, se eu puder ajudar em mais alguma coisa estou à disposição.

Abraços