Tenho minha classe que valida o CPF, como fazer para validar o CPF em tempo de execução, vi aqui uns posts que validavam os campos como, tamanho que caracteres, passar para maiusculo com o PlaiDocumente, onde estanciava a classe para validar, agora, como fazer para executar o códico em tempo de execução, quando o usuário digitar, deve validar o cpf no meu cadastro de clientes, pois não quero validar o CPF ao gravar os dados.
package br.com.supercred.util;
/**
* @author: Thiago Fonseca
* e-mail: [email removido]
*/
public class ValidarCPF extends Val{
public ValidarCPF(String nD) {
super(nD);
removeCaracteres();
carregaArrayList();
}
private void carregaArrayList() {
int i = 0;
int dv1 = 0;
int dv2 = 0;
while (i < nD.length()) {
switch (i) {
case 0 :dv1 = 10; dv2 = 11;break;
case 1 :dv1 = 9 ; dv2 = 10;break;
case 2 :dv1 = 8 ; dv2 = 9 ;break;
case 3 :dv1 = 7 ; dv2 = 8 ;break;
case 4 :dv1 = 6 ; dv2 = 7 ;break;
case 5 :dv1 = 5 ; dv2 = 6 ;break;
case 6 :dv1 = 4 ; dv2 = 5 ;break;
case 7 :dv1 = 3 ; dv2 = 4 ;break;
case 8 :dv1 = 2 ; dv2 = 3 ;break;
case 9 :dv1 = 2 ; dv2 = 2 ;break;
case 10:dv1 = 2 ; dv2 = 1 ;break;
}
list.add(new Digito(Integer.parseInt(nD.substring(i, i+1)), dv1, dv2));
i++;
}
}
private boolean verificaDV1(){
int i = 0;
int soma = 0;
int v = 0;
while (i < 9){
soma = soma +(list.get(i).getD() * list.get(i).getP1());
i++;
}
v = 11 - (soma % 11);
if (v == 10|| v == 11)
v = 0;
if (list.get(9).getD() == v){
return true;
}
else{
return false;
}
}
private boolean verificaDV2(){
int i = 0;
int soma = 0;
int v = 0;
while (i < 10){
soma = soma +(list.get(i).getD() * list.get(i).getP2());
i++;
}
v = 11 - (soma % 11);
if (v == 10)
v = 0;
if (list.get(10).getD() == v){
return true;
}
else{
return false;
}
}
public boolean verificar() {
if ((verificacaoMetrica(11) == true) && (verificaDV1() == true) && (verificaDV2() == true)){
return true;
}
else{
return false;
}
}
public String retornar() {
if (verificar() == true){
StringBuffer inscr = new StringBuffer(nD);
inscr.insert(3, ".");
inscr.insert(7, ".");
inscr.insert(11, "-");
nD = ""+inscr;
return nD;
}
else{
return null;
}
}
}
