I am validating a cpf field and I need to do a check in the database if this cpf has already been registered if I already bring the message to the user [closed]

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);
    
asked by anonymous 04.10.2018 / 00:53

1 answer

0

Is it possible to change the bank structure?

Because I believe the best way to validate this is to make the CPF field unique ( link ) when trying to enter an equal CPF, the bank will return a message and will not enter the record.

    
04.10.2018 / 19:24