Introdução
A necessidade de utilização das bases de dados para construção de estratégias de negócios através de técnicas de Ciência de Dados torna necessário que as aplicações sejam cada vez mais cuidadosas para a validação dos campos que serão salvos nas bases dos sistemas. Esses cuidados tem o objetivo de melhorar a qualiade das informações que serão fornecidas para sistemas de Inteligência artificial, mineração de dados, etc . Neste artigo será apresentada a construção de uma solução console que utiliza o Fluent Validation, DocsBRValidator e o .net Core 6 para validar o número do CPF fornecido pelo usuário.
FluentValidation
FluentValidation é uma bliblioteca .Net criada para construção de regras de validação. Com essa biblioteca podem ser definidos a obrigatoriedade de campos , os tamanhos, os tipos e a formatação.
DocsBRValidator
DocsBRValidator é uma biblioteca que possui a regra de validação para os principais documentos brasileiros como CPF, CNPJ, RG, CNH, Titulo de Eleitor, PIS/PASEP e Inscrição Estadual.
Implementação do Ambiente
Para Iniciar o projeto será criada uma solução em branco.
O framework escolhido foi o .net core 6.0
Depois que a solução foi criada no Visual Studio 2022. O projeto Console foi adicionado na solução clicando com o botão direito na solução , selecionando a opção (Add => New Project)
O template do projeto Console deverá ser selecionado.
OBS: O projeto Console foi criado dentro da pasta src (Isso não é obrigatório).
Com o projeto criado as bibliotecas foram incluídas através dos comandos
Install-Package DocsBRValidator -Version 1.2.1
Install-Package FluentValidation -Version 11.0.1
Estes comandos devem ser digitados no Package Manager Console.
Codificação
Para codificar foram criadas as classes Pessoa e a Classe PessoaValidation .
A classe Pessoa representa uma entidade de domínio e armazenará o número do Cpf que deverá ser validado conforme o código abaixo:
namespace ValidBrDoc.App
{
public class Pessoa
{
public string Nome { get; set; }
public string CPF { get; set; }
}
}
A classe PessoaValidation representa a classe que irá validar o preenchimento dos campos da classe Pessoa de acordo com as regras definidas através do FluentValidation
using FluentValidation;
using DocumentValidator;
namespace ValidBrDoc.App
{
public class PessoaValidation : AbstractValidator<Pessoa>
{
public PessoaValidation()
{
RuleFor(f => CpfValidation.Validate(f.CPF)).Equal(true)
.WithMessage("O documento fornecido é inválido.");
}
}
}
A validação do cpf irá ocorrer conforme a definição da classe CpfValidation definida na biblioteca DocumentValidator.
No arquivo Program.cs foi definido o seguinte código para testar a validação do CPF:
Pessoa p = new Pessoa();
p.Nome = "Nome Teste";
p.CPF = "XXXXXXX";
var validator = new PessoaValidation();
var answerValidation = validator.Validate(p);
if (!answerValidation.IsValid)
{
Console.WriteLine(answerValidation.Errors.FirstOrDefault());
} else
{
Console.WriteLine("Documento válido");
}
O sistema retornará a mensagem "Documento Válido" caso o número seja correspondente a um cpf ou "O documento fornecido é inválido" conforme o que foi estabelecido na classe PessoaValidation para informar que o cpf é inválido.
Conclusão
A Validação de número de documentos em sistemas é um exercício muitas vezes trabalhoso. Através do exemplo demonstrado é possível ter uma forma menos trabalhosa e tranquila para validação dos principais documentos brasileiros.
Seguem os links para as bibliotecas utilizadas e o github do projeto desenvolvido:
GitHub
Comentários
Postar um comentário