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

Validação da tabela

Estou na aula 06 do curso de JS, porém a minha tabela não está sendo validada. Segue os códigos para análise dos colegas.

calcula-imc.js

function validaPeso(){
  if(peso >= 0 && peso < 500){
    return true;
  }else{
    return false;
  }
}

function validaAltura(){
  if(altura >= 0 && altura < 3){
    return true;
  }else{
    return false;
  }
}
form.js
botaoAdicionar.addEventListener("click", function (event) {
  event.preventDefault();

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

  var paciente = obtemPacienteDoFormulario(form);

  var pacienteTr = montaTr(paciente);

    if(!validaPaciente(paciente)){
        console.log("Paciente inválido");
        return;
    }

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

  tabela.appendChild(pacienteTr);

  form.reset();
});

.
.
.

function validaPaciente(paciente){
    if(validaPeso(paciente.peso)){
        return true;
    }else{
        return false;
    }
}

Revi a vídeo aula para ver se estava esquecendo de algo, mas para mim não há erros. Aguardo retorno.

2 respostas
solução!

Olá Marcus, tudo bem?

Tenta colocar os parâmetros peso e altura nas funções de validação.

Por exemplo, seu código está assim:

function validaPeso() {
  if (peso >= 0 && peso < 500) {
    return true;
  } else {
    return false;
  }
}

function validaAltura() {
  if(altura >= 0 && altura < 3) {
    return true;
  } else {
    return false;
  }
}

Tenta assim:

function validaPeso(peso) { //aqui está a modificação
  if (peso >= 0 && peso < 500) {
    return true;
  } else {
    return false;
  }
}

function validaAltura(altura) { //aqui está a modificação
  if (altura >= 0 && altura < 3) {
    return true;
  } else {
    return false;
  }
}

Como não está sendo passado pelo parâmetro, na hora que você chama a função, a variável não está no escopo. Isto é, ela não tem acesso a variável que você está querendo validar.

Avisa se funcionou :)

Abraços

Vlw Thiago... Funcionou...

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