gershwin.pages.dev

Como validar CPF em aplicação console .NET Core?

Validar um CPF (Cadastro de Pessoas Físicas) em uma aplicação console .NET Core pode parecer complexo à primeira vista, mas com o algoritmo correto e uma implementação simples, é possível garantir a integridade dos dados de forma rápida e confiável. Este método utiliza o algoritmo padrão de validação de CPF, que verifica os dígitos verificadores, garantindo que o número seja matematicamente correto.

Pré-requisitos

Criando o método de validação

O primeiro passo é criar um método estático que receba uma string contendo o CPF e retorne um booleano indicando se o CPF é válido ou não. O método deve remover caracteres não numéricos, verificar se o CPF tem 11 dígitos e aplicar o algoritmo de validação dos dígitos verificadores.

public static class CpfValidator
{
    public static bool IsValid(string cpf)
    {
        // Remove caracteres não numéricos
        cpf = new string(cpf.Where(char.IsDigit).ToArray());

        // Verifica se o CPF tem 11 dígitos
        if (cpf.Length != 11)
            return false;

        // Verifica se todos os dígitos são iguais
        if (cpf.Distinct().Count() == 1)
            return false;

        // Calcula o primeiro dígito verificador
        int sum = 0;
        for (int i = 0; i < 9; i++)
            sum += (10 - i) * int.Parse(cpf[i].ToString());

        int rest = sum % 11;
        int digit1 = rest < 2 ? 0 : 11 - rest;

        // Calcula o segundo dígito verificador
        sum = 0;
        for (int i = 0; i < 10; i++)
            sum += (11 - i) * int.Parse(cpf[i].ToString());

        rest = sum % 11;
        int digit2 = rest < 2 ? 0 : 11 - rest;

        // Compara os dígitos calculados com os informados
        return digit1 == int.Parse(cpf[9].ToString()) && 
               digit2 == int.Parse(cpf[10].ToString());
    }
}

Implementando na aplicação console

Agora, integre o método de validação em sua aplicação console .NET Core. Crie um novo projeto console e adicione o método de validação à classe Program ou a uma classe separada. Em seguida, implemente a lógica para ler o CPF do usuário e exibir o resultado da validação.

class Program
{
    static void Main(string[] args)
    {
        Console.Write("Digite o CPF: ");
        string cpf = Console.ReadLine();

        if (CpfValidator.IsValid(cpf))
            Console.WriteLine("CPF válido!");
        else
            Console.WriteLine("CPF inválido!");

        Console.ReadKey();
    }
}

Exemplo Prático

A tabela a seguir mostra exemplos de CPFs válidos e inválidos, demonstrando o funcionamento do método de validação.

CPF de Entrada Válido? Motivo
123.456.789-09 Não Dígitos verificadores incorretos
529.982.247-25 Sim CPF válido conforme algoritmo
111.111.111-11 Não Todos os dígitos iguais
529.982.247-00 Não Dígitos verificadores incorretos

Conclusão

Com este método de validação de CPF em aplicação console .NET Core, você garante a integridade dos dados de forma rápida e confiável, evitando erros manuais e automatizando o processo de verificação. A implementação é simples e pode ser facilmente integrada em qualquer projeto .NET Core, proporcionando uma solução robusta para validação de CPFs.