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.