Ola galera…achei um validador de cpf na internet mais ai to com alguns problemas aki (iniciante em java)
mostrarei primeiramente meu codigo depois coloco a duvida abaixo
[b][i]
public static boolean valida_cpf(String CNPJ_CPF) {
if( == 11) { //CPFCNPJ_CPF.length()
int acumulador1 = 0;
int acumulador2 = 0;
int resto = 0;
StringBuffer resultado = new StringBuffer();
String digitoVerificadorCPF = CNPJ_CPF.substring((CNPJ_CPF.length() - 2),
CNPJ_CPF.length());
for(int i = 1; i < (CNPJ_CPF.length() - 1); i++) {
acumulador1 += (11 - i) * Integer.valueOf(CNPJ_CPF.substring((i - 1), i));
acumulador2 += (12 - i) * Integer.valueOf(CNPJ_CPF.substring((i - 1), i));
}
resto = acumulador1 % 11;
if (resto < 2) {
acumulador2 += 2;
resultado.append(2);
}
else {
acumulador2 += 2 * (11 - resto);
resultado.append((11 - resto));
}
resto = acumulador2 % 11;
if (resto < 2) {
resultado.append(0);
}
else {
resultado.append((11 - resto));
}
return resultado.toString().equals(digitoVerificadorCPF);
}
return false;
}[/b][/i]
//validador CPF
[b][i]
//chamando o metodo e testando
JB0.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
conexao BD0 = new conexao();
BD0.conectar();
String SV1, SV2, SV3, SV4, SV5, SV6, SV7, SV8, SV9, SV10, SV11, SV12, SV13, SV14, SV15, SV16, SV17, SV18, SV19, SV20;
SV1 = JT1.getText();
SV2 = JT2.getText();
SV3 = JT3.getText();
SV4 = JT4.getText();
SV5 = JT5.getText();
SV6 = JT6.getText();
SV7 = (String)JCB0.getSelectedItem();
SV8 = JT8.getText();
SV9 = JT9.getText();
SV10 = JT10.getText();
SV11 = JT11.getText();
SV12 = teste.getText();
SV13 = teste2.getText();
SV14 = teste3.getText();
SV15 = (String)JCB1.getSelectedItem();
SV16 = (String)JCB2.getSelectedItem();
SV17 = teste4.getText();
SV18 = teste5.getText();
SV19 = teste6.getText();
SV20 = teste7.getText();
JCB0.getSelectedItem().toString();
JCB1.getSelectedItem().toString();
JCB2.getSelectedItem().toString();
//Verificando_Insercao
boolean insere = pa.novopaciente(SV1, SV2, SV3, SV4, SV5, SV6, SV7, SV8, SV9, SV10, SV11, SV12, SV13, SV14, SV15, SV16, SV17, SV18, SV19, SV20);
boolean cpf=pa.valida_cpf(SV13);
boolean rg=pa.validarrg(SV10);
boolean data1=pa.verificaData(SV12);
boolean data2=pa.verificaData(SV14);
if(!insere){
JOptionPane.showMessageDialog(null,“Cadastro não realizado”,“Mensagem do programa”,JOptionPane.ERROR_MESSAGE);
}else if(!cpf){
JOptionPane.showMessageDialog(null,“Campo CPF Inválido ou não preenchido”,“Mensagem do programa”,JOptionPane.ERROR_MESSAGE);
}else if(!rg){
JOptionPane.showMessageDialog(null,“Campo RG Inválido ou não preenchido”,“Mensagem do programa”,JOptionPane.ERROR_MESSAGE);
}else if(!data1){
JOptionPane.showMessageDialog(null,“Data Inválida”,“Mensagem do programa”,JOptionPane.ERROR_MESSAGE);
}else if(!data2){
JOptionPane.showMessageDialog(null,“Data Inválida”,“Mensagem do programa”,JOptionPane.ERROR_MESSAGE);
}else{
JOptionPane.showMessageDialog(null,“Cadastro Realizado com sucesso.”,“Mensagem do programa.”,JOptionPane.INFORMATION_MESSAGE);
JT1.setText("");
JT2.setText("");
JT3.setText("");
JT4.setText("");
JT5.setText("");
JT6.setText("");
JCB0.setSelectedItem(null);
JT8.setText("");
JT9.setText("");
JT10.setText("");
JT11.setText("");
teste.setText("");
teste2.setText("");
teste3.setText("");
JCB1.setSelectedItem(null);
JCB2.setSelectedItem(null);
teste4.setText("");
teste5.setText("");
teste6.setText("");
teste7.setText("");
}}
}
);[/b][/i]
ai estou com os seguintes problemas:
1º SV2 = JT2.getText(); por ser um numero inteiro ele nao pode utilizar getText - sugestões
2º o encadeamento de ELSE IF q fiz e para testar os validadores onde INSERE-e caso não houver nenhum dado preenchido…CPF-validador de cpf…RG- so para validar se não contem mais de 11 digitos…data - para validar datas,para nao digitar numeros foram d ordem,etc…entao quando chego no campo cpf ele acusa o erro que esta acima na JOptionPane.showMessageDialog mesmo se deixo preenchido ou se deixo sem…e ja mudei o boolean cpf pra true…para false…deixei dentro do else if (!cpf)…deixei sem o “!” tambem e nada… - sugestões
3º nesse acontece que msmo aparecendo a mensagem de erro da JOptionPane.showMessageDialog o cadastro esta sendo guardado no banco…e se der erro nao pode ser guardado no banco…
VLW!