validate-brazilian-cpf
Reactive icon

Validate Brazilian CPF

Stable version 1.0.1 (Compatible with OutSystems 11)
Uploaded
 on 21 Oct (21 hours ago)
 by 
5.0
 (1 rating)
validate-brazilian-cpf

Validate Brazilian CPF

Documentation
1.0.1

Descrição Geral
A ação “Validar CPF” executa a verificação da validade de um número de CPF (Cadastro de Pessoa Física) de acordo com as regras oficiais de cálculo dos dígitos verificadores.
O código é implementado em JavaScript dentro de uma função IIFE (Immediately Invoked Function Expression), garantindo isolamento de escopo e segurança de execução dentro do ambiente OutSystems.


Entradas

  • CPF (Texto): Texto contendo o número do CPF a ser validado.
    Deve possuir exatamente 11 dígitos numéricos, sem pontos, traços ou espaços.
    Recomenda-se utilizar uma função de limpeza anterior para remover qualquer caractere não numérico antes de executar a validação.


Saídas

  • IsValid (Booleano): Retorna True se o CPF for válido, ou False caso contrário.


Lógica de Funcionamento
O algoritmo realiza a validação de acordo com os seguintes passos:

  1. Verifica se o valor informado possui 11 dígitos e elimina CPFs compostos por números repetidos, como “00000000000” ou “11111111111”.

  2. Calcula o primeiro dígito verificador com base nos nove primeiros números do CPF.

  3. Calcula o segundo dígito verificador com base nos dez primeiros números do CPF.

  4. Compara os dois dígitos calculados com os dígitos informados.

  5. Caso ambos coincidam, o CPF é considerado válido; caso contrário, é considerado inválido.

O código utiliza apenas operações matemáticas simples, com multiplicação e soma de cada dígito ponderado pela posição, aplicando o cálculo de resto de divisão para determinar os dígitos verificadores esperados.


Exemplo de Utilização
Entrada: CPF = "12345678909"
Saída: IsValid = True

Entrada: CPF = "12345678900"
Saída: IsValid = False


Observações

  • O CPF deve ser informado sem qualquer formatação, contendo apenas números.

  • O algoritmo é compatível com CPFs iniciados por zero.

  • A ação é indicada para uso em Client Actions em aplicações reativas ou móveis.

  • O retorno é imediato e não requer chamadas externas ou comunicação com o servidor.