Fiz o código igual ao da instrutora mas a validação não está aparecendo no console quando tiro o foco do campo. Simplesmente não aparece nada no console. Se alguém puder me ajudar agradeço.
Seguem meus códigos:
ValidaCPF.js
export default function ehUmCPF(campo){
const cpf = campo.value.replace(/\.|-/g, "")
//O método replace recebe dois parâmetros,
//o primeiro é o que desejamos substituir
//o segundo é pelo que desejamos substituir
if(validaNumerosRepetidos(cpf) || validaPrimeiroDigito(cpf) || validaSegundoDigito(cpf)){
console.log("Este cPF não existe")
} else {
console.log("Este CPF existe")
}
console.log(cpf)
}
function validaNumerosRepetidos(cpf) {
const numerosRepetidos = [
"00000000000",
"11111111111",
"22222222222",
"33333333333",
"44444444444",
"55555555555",
"66666666666",
"77777777777",
"88888888888",
"99999999999"
]
return numerosRepetidos.includes(cpf);
}
function validaPrimeiroDigito(cpf) {
let soma = 0;
let multiplicador = 10;
for(let tamanho = 0; tamanho < 9; tamanho++) {
soma += cpf[tamanho] * multiplicador;
multiplicador--;
}
soma = (soma * 10) % 11;
if (soma == 10 || soma == 11) {
soma = 0;
}
return soma != cpf[9];
}
function validaSegundoDigito(cpf) {
let soma = 0;
let multiplicador = 11;
for(let tamanho = 0; tamanho < 10; tamanho++) {
soma += cpf[tamanho] * multiplicador;
multiplicador--;
}
soma = (soma * 10) % 11;
if (soma == 10 || soma == 11) {
soma = 0;
}
return soma != cpf[10];
}
Script.js
import ehUmCPF from "./valida-cpf.js";
const camposDoFormulario = document.querySelectorAll("[required]");
camposDoFormulario.forEach((campo) => {
campo.addEventListener("blur", () => verificaCampo(campo));
//evento de retirar o cursor/foco do input
})
function verificaCampo(campo) {
if (campo.name == cpf && campo.value.length >= 11) {
ehUmCPF(campo);
}
}