I am validating a field of Cpf and need to make a check in the database if this Cpf has already been registered if it brings the message to the user

Asked

Viewed 49 times

2

//verifica cpf válido
jQuery.validator.addMethod("verificaCPF", function (value, element) {
    // tamanho do cpf
    if (value.length < 11) return false;
    // retira pontos, virgulas e traços
    value = value.replace('.', '');
    value = value.replace('.', '');
    cpf = value.replace('-', '');
    //  calcular cpf válido
    while (cpf.length < 11) cpf = "0" + cpf;
    var expReg = /^0+$|^1+$|^2+$|^3+$|^4+$|^5+$|^6+$|^7+$|^8+$|^9+$/;
    var a = [];
    var b = new Number;
    var c = 11;
    for (i = 0; i < 11; i++) {
        a[i] = cpf.charAt(i);
        if (i < 9) b += (a[i] * --c);
    }
    if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11 - x }
    b = 0;
    c = 11;
    for (y = 0; y < 10; y++) b += (a[y] * c--);
    if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11 - x; }
    if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10]) || cpf.match(expReg)) return false;
    return true;

}, STRINGS.cpfInvalido);
  • Junior, edit your question and clarify your doubt or problem. I see that you have been a member of the site for a while, it is important to read the [tour] to know how it works and also if you need help on how to use the tools of the site, go to [help].

  • All right, thank you

  • Then you will have to make a request to server and do this check there, then return the message.

1 answer

0

It is possible to change the structure of the bank?

Because I believe the best way to validate this is to make the CPF field unique (https://www.w3schools.com/SQl/sql_unique.asp), thus, when trying to insert an equal CPF, the bank will return a message and will not insert the record.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.