Não estou conseguindo identificar esse erro. ``` form.js:71 Uncaught ReferenceError: validaPeso is not defined at validaPaciente (form.js:71) at HTMLButtonElement. (form.js:12)
``
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Não estou conseguindo identificar esse erro. ``` form.js:71 Uncaught ReferenceError: validaPeso is not defined at validaPaciente (form.js:71) at HTMLButtonElement. (form.js:12)
``
Coloque o código do arquivo form.js para nós analisarmos
var botaoAdicionar = document.querySelector("#adicionar-paciente");
botaoAdicionar.addEventListener("click", function(event) {
event.preventDefault();
//extrai os pacientes do form
var form = document.querySelector("#form-adiciona");
var paciente = obtemPacienteDoFormulario(form);
//cria a tr das ts dos pacientes
var pacienteTr = montaTr(paciente);
var erro = validaPaciente(paciente);
if(erro.length > 0) {
var mensagemErro = document.querySelector("#mensagem-erro");
mensagemErro.textContent = erro;
return;
}
// Adiciona paciente na tabela
var tabela = document.querySelector("#tabela-pacientes");
tabela.appendChild(pacienteTr);
form.reset();
});
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");
var nomeTd = montaTd(paciente.nome, "info-nome");
var pesoTd = montaTd(paciente.peso, "info-peso");
var alturaTd = montaTd(paciente.altura, "info-altura");
var gorduraTd = montaTd(paciente.gordura, "info-gordura");
var imcTd = montaTd(paciente.imc, "info-imc");
pacienteTr.appendChild(nomeTd);
pacienteTr.appendChild(pesoTd);
pacienteTr.appendChild(alturaTd);
pacienteTr.appendChild(gorduraTd);
pacienteTr.appendChild(imcTd);
return pacienteTr;
}
function montaTd(dado, classe) {
var td = document.createElement("td");
td.classList.add(classe);
td.textContent = dado;
return td;
}
function validaPaciente(paciente) {
if (validaPeso(paciente.peso)) {
return "";
} else {
return "Peso é inválido";
}
if (validaAltura(paciente.altura)) {
return "";
} else {
return "Altura é inválida";
}
}
Por favor, coloca o código do aquivo onde tem a implementação das funções
validaPeso(paciente.peso)
e
validaAltura.altura(paciente.altura)
código do arquivo "calcula-imc.js"
function ValidaPeso(peso){
if (peso >= 0 && peso <= 1000) {
return true;
}else{
return false;
}
}
function validaAltura(altura){
if (altura >= 0 && altura <= 3.00) {
return true;
}else{
return false;
}
}
Acho que o problema é que a função ValidaPeso está declarada com a primeira letra maiúscula. Na chamada existente dentro da função validaPaciente ela está iniciando com minúscula, assim:
if (validaPeso(paciente.peso)).
Só normalizar esse nome, e tudo deve dar certo! ;-)
insira seu código aqui
Obrigado pela respostas!