Closed enzo-santos closed 8 months ago
Olá @enzo-santos, muito obrigado pela contribuição por aqui, a validação de certidão é feita por meio de da classe "src/validator-docs/Rules/Certidao.php", não tive tempo ainda de verificar a diferença com a proposta que vc trouxe nesta issue, poderia verificar por favor?
@geekcom Perdão, eu estava consultando o arquivo errado. Achei que a validação estava em src/validator-docs/Formats, mas na verdade está em src/validator-docs/Rules. Dei uma olhada por alto e os algoritmos parecem ser equivalentes. Pode encerrar a issue.
De acordo com este site, este é o algoritmo para se calcular o dígito verificador de uma certidão de nascimento:
Em pseudocódigo, ficaria mais ou menos assim:
Para tornar a validação mais precisa, bastaria comparar o Dígito Verificador calculado com os últimos dois dígitos da certidão:
Não encontrei nenhuma descrição desse método em documentos oficiais. No entanto, por prestar serviços a um órgão público, tenho acesso a uma base considerável de certidões de nascimento e o algoritmo conseguiu validar todos. No entanto, se alguém quiser contribuir com a discussão, pode ficar à vontade!
Isso iria melhorar bastante a validação atual, que pelo que entendi é feita somente por uma expressão regular.