3
respostas

Validação do CPF e Edição de dados

Com o código sugerido pelo instrutor não consegui validar os CPF´s, mesmo numerações corretas são tratadas como inválidas. O único número aceito é o que já constava cadastrado na API antes da validação. De acordo com o instrutor aquele código além de validar o CPF iria verificar se o número já estava cadastrado, mas isso não acontece. Quando tento enviar os dados do cliente editado, o mesmo é duplicado na listagem.

Segue meu Github com o código que fiz:

https://github.com/shirleyags/consumo_api_fetch.git

Obs: No link do curso (Github) não consta o projeto inteiro.

3 respostas

Oi, Shirley, tudo bem?

Dentro do seu arquivo cadastro-cliente.js faltou um trecho em que é carturado o tamanho do campo do cpf, ficando assim:

 if(validaCPF(cpf) && cpf.length === 11) {
    cadastrarCliente(nome, cpf);
  } else {
    alert("O CPF não é válido");
  }

});

Faça essa modificação para corrigir o problema com a validação do campo.

E qual o seu cpf?

Não resolveu o problema. Coloco o meu CPF e não é aceito, aparece a mensagem CPF inválido. Quando coloco o de outra pessoa funciona, mas o sistema está permitindo cadastrar um CPF mais de uma vez. E não foi respondido sobre a duplicação ao editar. Tenho 3 problemas:

  • Meu CPF não é aceito, consta como inválido;
  • O código aceita cadastrar o mesmo CPF mais de uma vez;
  • Quando um dado é editado o mesmo cliente é duplicado na lista.

Por favor, preciso da resposta o mais rápido possível. A resposta que você deu não resolve e o instrutor não informa no vídeo que precisa colocar o que você pediu.

Att

Oi, Shirley, tudo bem?

Mil desculpas pela demora. Bem, eu preferi colocar o projeto no github porque poderia ficar confuso aqui.

Sobre a duplicação, estava ocorrendo essa duplicação quando você editava por na página edita-cliente.html você também ter chamado o cadastra-cliente.html, então, ele ao mesmo tempo editava e cadastrava de novo. Retirando o <script src="edita-cliente.js"></script>, volta a fazer edição normalmente.

Também estava com problema na hora de deletar, não conseguia deletar porque a página regaregava.Então, na função, document.location.reload(), retirando o reload, a página não recarrega e consegue deletar o cliente.

Sobre o CPF, o seu cpf entrou numa exceção do código que o professor fez. Ao que me parece estudando o problema, tem a ver com o soma da dos numeros do cpf, então, no código que adaptei eu só foquei em verificar os digitos (para evitar exceções), pois são eles que garantem um cpf válido ou não. Essa calculadora confirma: http://ghiorzi.org/DVnew.htm

Lendo um pouco sobre validações de CPF, vi que há variações também por estados, https://pt.wikipedia.org/wiki/Cadastro_de_pessoas_f%C3%ADsicas#Algoritmo

Assim que você verificar no github, eu apago o respositório :) https://github.com/laiscavalcanti/fetch-api-aluna/tree/master/consumo_api_fetch-master