1
resposta

Possivel erro no codigo de validação de CPF

Ao fazer teste da validação do CPF eu inseri 11 caracteres numero 1 Validou true o cpf depois 11 caracteres numero 2 e validou true o cpf

Ou seja numeros repetidos validam o cpf

Algo deve esta errado no codigo

1 resposta

Olá Fabio,

Exatamente, CPF's com números repetidos são conhecidos como válidos que atendem à validação, mas ainda são considerados inválidos. Para contornar isso, é necessário implementar no código a verificação desses números repetidos, algo do tipo:

namespace ByteBank.SistemaAgencia
{
    public class Validar
    {
        public bool Cpf(string cpf)
        {
            string cpfSemFormatacao = cpf.Replace(".", "").Replace("-", "").Trim();
            if (cpfSemFormatacao == "11111111111")
                return false;
            else if (cpfSemFormatacao == "22222222222")
                return false;
            else if (cpfSemFormatacao == "33333333333")
                return false;
            else if (cpfSemFormatacao == "44444444444")
                return false;
            else if (cpfSemFormatacao == "55555555555")
                return false;
            else if (cpfSemFormatacao == "66666666666")
                return false;
            else if (cpfSemFormatacao == "77777777777")
                return false;
            else if (cpfSemFormatacao == "88888888888")
                return false;
            else if (cpfSemFormatacao == "99999999999")
                return false;

            return true;
        }
    }
}