Olá Marcelo, tudo bem com você?
Esse problema é bem comum em linguagens de programação, acontece que quando começamos um número com 0, o node
pensa que você está querendo inserir um número da base octal
ao invés da decimal
, e por isso ele lança um erro dizendo que escrever um numero octal
de maneira literal não é permitida, então quando você fez isso:
parseInt("0321321312")
Parou de dar erro, mas se você tentar dar um console.log
do cliente1.cpf
vai ver que está diferente, isso porque com a transformação para número inteiro, o zero a esquerda foi excluído e dessa forma o compilador não disse que era um número octal, entretanto temos um cpf invalido agora!
Sinceramente, a melhor solução para isso é trabalhar com o cpf
como um valor textual ao invés de numérico, e faz até muito sentido dado que não fazemos operações matemáticas com cpf
, a única necessária é a de validação, mas para essa podemos criar uma função que faça isso recebendo um cpf
no formato de string
:)
Conseguiu Compreender?
Abraços e Bons Estudos!