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)
``
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!