isValid static method
Implementation
static bool isValid(String cpf) {
final digits = stringAsDigits(cpf);
if (digits.length != 11) {
return false;
}
final digitoVerificador1 = digits.elementAt(9);
final digitoVerificador2 = digits.elementAt(10);
final sum1 = ([
for (var i = 1; i <= 9; i++) digits.elementAt(i - 1) * (11 - i)
].fold(0, (x, y) => x + y) *
10) %
11;
final sum2 = ([
for (var i = 1; i <= 10; i++) digits.elementAt(i - 1) * (12 - i)
].fold(0, (x, y) => x + y) *
10) %
11;
final dv1Valid = ((sum1 == 10 || sum1 == 11) && 0 == digitoVerificador1) ||
(sum1 == digitoVerificador1);
final dv2valid = ((sum2 == 10 || sum2 == 11) && 0 == digitoVerificador2) ||
(sum2 == digitoVerificador2);
return dv1Valid && dv2valid;
}