Descrição Detalhada do Componente – Validador de CPF
O componente “Validador de CPF” tem como objetivo verificar a validade de um número de CPF informado pelo utilizador, garantindo que segue o padrão oficial utilizado no Brasil. Ele foi desenvolvido para ser utilizado em aplicações OutSystems, tanto em ambientes web reativos quanto em aplicações móveis, permitindo uma validação rápida e precisa diretamente no lado do cliente, sem necessidade de comunicação com o servidor.
O componente recebe como entrada um valor de texto contendo o número do CPF, já limpo e composto apenas por 11 dígitos numéricos. A lógica interna realiza uma série de verificações matemáticas que garantem se o número segue as regras de formação de um CPF válido.
Primeiro, são eliminados casos de CPFs inválidos conhecidos, compostos por sequências repetidas de um mesmo número, como “00000000000” ou “11111111111”. Em seguida, o algoritmo calcula os dois dígitos verificadores com base nos nove primeiros dígitos, aplicando multiplicações ponderadas e operações de resto de divisão. Os dígitos resultantes são então comparados com os dígitos informados no CPF. Caso coincidam, o CPF é considerado válido; caso contrário, inválido.
O resultado da validação é retornado como um valor booleano, onde “True” indica um CPF válido e “False” indica um CPF inválido. O componente foi projetado para funcionar corretamente mesmo com CPFs iniciados por zero e utiliza uma função autoexecutável em JavaScript (IIFE) para garantir isolamento e evitar interferência com outros blocos de código.
De forma simples, o Validador de CPF oferece uma forma segura, leve e eficiente de validar números de CPF diretamente na interface da aplicação, melhorando a experiência do utilizador e assegurando a integridade dos dados inseridos.
Esta versão introduz melhorias de robustez e correção de falhas na validação de CPF, garantindo total compatibilidade com CPFs válidos iniciados por zero e eliminando comportamentos inconsistentes reportados por utilizadores.
Correção da validação principal (JavaScript)
Todas as variáveis (i, add, rev) agora são declaradas com let para evitar escopo global.
i
add
rev
let
Ajuste da estrutura de chaves nos blocos for para evitar erros de execução.
for
Mantida a compatibilidade total com CPFs iniciados por 0.
0
Mantida a função encapsulada em uma IIFE (Immediately Invoked Function Expression) para prevenir conflitos de escopo em blocos JavaScript partilhados.
Melhoria no processo de limpeza do CPF
Substituição do regex anterior por um padrão mais seguro:
$parameters.CPF.replace(/\D/g, '');
Este regex remove qualquer caractere não numérico e preserva zeros à esquerda.
Remoção do uso de parseInt(), que eliminava zeros à esquerda e causava validações incorretas.
parseInt()
Tratamento padronizado do retorno
O resultado final ($parameters.IsValid) é agora atribuído de forma explícita dentro da IIFE, garantindo coerência mesmo em cenários de erro antecipado.
$parameters.IsValid
Validação confiável para todos os formatos válidos de CPF, inclusive os iniciados por zero.
Execução isolada, sem variáveis globais.
Melhor compatibilidade com Client Actions e Web Blocks no OutSystems.
Código mais legível, performático e seguro.
Nenhuma alteração de interface pública.
Totalmente retrocompatível com versões anteriores do componente.