Pular para o conteúdo principal

Tipo de Documento

Cadastro de Documento

1. Campos do Cadastro

1.1. Nome

Nome do tipo de documento.

1.2. Pattern

Máscara para formatar o tipo de documento. ex:

  • CNPJ: 00.000.000/000-00

  • CPF: 000.000.000-00

Documentação técnica: jQuery-Mask-Plugin Doc

1.3. Código de Validação

  • Código em JavaScript para validar o tipo de documento.

  • A variável key deverá ser usada na validação.

  • O retorno deve ser null em caso de sucesso ou uma string em caso de erro.

  • Exemplo simples de validação, onde o correto é o número 125:

    if(key === 125){
return null;
} else {
return "Erro na validação. Deveria ser 125!"
}
  • Exemplo de validação de CPF:
    var cpf = key; // Essa variável key, é o valor a ser validado, enviado pelo sistema
var soma = 0;
var resto;
var mensagemErro = `O CPF ${cpf} é inválido!`;

if (cpf == "00000000000"){
return mensagemErro;
}

for (var i=1; i<=9; i++) {
soma = soma + parseInt(cpf.substring(i-1, i)) * (11 - i);
resto = (soma * 10) % 11;
}

if ((resto == 10) || (resto == 11)){
resto = 0;
}

if (resto != parseInt(cpf.substring(9, 10)) ) {
return mensagemErro;
}

soma = 0;
for (var i = 1; i <= 10; i++) {
soma = soma + parseInt(cpf.substring(i-1, i)) * (12 - i);
}
resto = (soma * 10) % 11;

if ((resto == 10) || (resto == 11)) {
resto = 0;
}

if (resto != parseInt(cpf.substring(10, 11) ) ){
return mensagemErro;
}

return null;
  • Exemplo de validação de CNPJ:
    var cnpj = key;

var mensagemErro = `O CNPJ ${cnpj} é inválido!`;

if (cnpj.length != 14){
return mensagemErro;
}

// Elimina CNPJs invalidos conhecidos
if (cnpj == "00000000000000" ||
cnpj == "11111111111111" ||
cnpj == "22222222222222" ||
cnpj == "33333333333333" ||
cnpj == "44444444444444" ||
cnpj == "55555555555555" ||
cnpj == "66666666666666" ||
cnpj == "77777777777777" ||
cnpj == "88888888888888" ||
cnpj == "99999999999999"){
return mensagemErro;
}


// Valida DVs
var tamanho = cnpj.length - 2;
var numeros = cnpj.substring(0,tamanho);
var digitos = cnpj.substring(tamanho);
var soma = 0;
var pos = tamanho - 7;
for (var i = tamanho; i >= 1; i--) {
soma += numeros.charAt(tamanho - i) * pos--;
if (pos < 2){
pos = 9;
}
}
var resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
if (resultado != digitos.charAt(0)){
return mensagemErro;
}

tamanho = tamanho + 1;
numeros = cnpj.substring(0,tamanho);
soma = 0;
pos = tamanho - 7;
for (var i = tamanho; i >= 1; i--) {
soma += numeros.charAt(tamanho - i) * pos--;
if (pos < 2){
pos = 9;
}
}
resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
if (resultado != digitos.charAt(1)){
return mensagemErro;
}

return null;

1.4. Descrição

Descrição do tipo de documento.