Olá parceiros!! Não sei se alguns ainda estão tendo dificuldades para validar o CPF. No meu caso tentei fazer como o profe mas sempre aparecia a mensagem de erro mesmo inserindo o formato correto dos números e quando eu colocava o formato errado tipo mais de 11 números ou valores repetidos o cadastro era realizado normalmente. A postagem do Marcelo Ildefonso Campos me ajudou bastante. https://cursos.alura.com.br/forum/topico-observacao-sobre-cpf-length-tamanho-do-cpf-digitado-no-campo-228174
Ele apenas acrescentou mais um IF na function checaCPFRepetido.
Sobre a função checaEstrututaCPF que foi ensinada na aula, eu até tentei usar mas só da erro. Copiei o código direto do github caso eu tivesse escrito algo errado mas continua dando erro... https://github.com/alura-cursos/validacao-doguito/blob/aula4/js/validacao.js
Meu código ficou assim... igual o do profe Matheus Alberto acrescentado apenas duas linhas do IF
function validaCPF(input) {
const cpfFormatado = input.value.replace(/\D/g, '')
let mensagem = ''
if(!checaCPFRepetido(cpfFormatado)) {
mensagem = 'O CPF digitado não é válido.'
}
input.setCustomValidity(mensagem)
}
function checaCPFRepetido(cpf) {
const valoresRepetidos = [
'00000000000',
'11111111111',
'22222222222',
'33333333333',
'44444444444',
'55555555555',
'66666666666',
'77777777777',
'88888888888',
'99999999999'
]
let cpfValido = true
valoresRepetidos.forEach(valor => {
if(valor == cpf) {
cpfValido = false
}
if (cpf.length > 11) {
cpfValido = false
}
})
return cpfValido
}