ola…
criei uma tabela chamada CadastraPaciente onde na hora de cadastrar tenho q validar algumas coisas…ai para mostrar onde tem q ser a validação fiz um encadeamento de ‘else if’ assim qndo der erro em algum lugar especificado ele mostra a msagem, assim o usuario sabe onde errou…ai consegui um validador de cpf e tava testando ele…porem de proposito deixo o campo CPF sem preencher ai acusa erro…mais se eu preencho acusa o erro novamente…ou seja…preenchendo ou não esta dando acusando erro no campo…alem disso esta gravando os dois cadastros no banco…queria que se desse erro nao grava-se no banco…so se desse a mensagem de ‘cadastro efetuado’ que grava-se no banco…
alguem pode me flar algo q possa ser feito…
codigo…
[code]
JB0.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
conexao BD0 = new conexao();
BD0.conectar();
String nome, logradouro, numero, complemento, bairro, municipio, uf, nacionalidade, naturalidade, rg,org-emissor, data_emissao,cpf, data_nasc, estado_civ, sexo, ddd_tel,tel , ddd_cel, cel;
nome = JT1.getText();
logradouro = JT2.getText();
numero = JT3.getText();
complemento = JT4.getText();
bairro = JT5.getText();
municipio = JT6.getText();
uf = (String)JCB0.getSelectedItem();
nacionalidade = JT8.getText();
naturalidade = JT9.getText();
rg = JT10.getText();
org-emissor = JT11.getText();
data_emissao = mascaradatae.getText();
cpf = mascaracpf.getText();
data_nasc = mascaradatan.getText();
estado_civ = (String)JCB1.getSelectedItem();
sexo = (String)JCB2.getSelectedItem();
ddd_tel = mascaraddd.getText();
tel = mascaratel5.getText();
ddd_cel = mascaradddc.getText();
cel = mascaracel.getText();
uf.getSelectedItem().toString();
estado_civ.getSelectedItem().toString();
sexo.getSelectedItem().toString();
//Verificando_Insercao
boolean insere = pa.novopaciente(nome, logradouro, numero, complemento, bairro, municipio, uf, nacionalidade, naturalidade, rg,org-emissor, data_emissao,cpf, data_nasc, estado_civ, sexo, ddd_tel,tel , ddd_cel, cel);
boolean cpf=pa.valida_cpf(cpf);
boolean rg=pa.validarrg(rg);
boolean data1=pa.verificaData(data_emissao);
boolean data2=pa.verificaData(data_nasc);
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);
nome.setText("");
logradouro.setText("");
numero.setText("");
complemento.setText("");
bairro.setText("");
municipio.setText("");
uf.setSelectedItem(null);
nacionalidade.setText("");
naturalidade.setText("");
rg.setText("");
org-emissor.setText("");
mascaradatae.setText("");
mascaracpf.setText("");
mascaradatan.setText("");
estado_civ.setSelectedItem(null);
sexo.setSelectedItem(null);
mascaraddd.setText("");
mascaratel.setText("");
mascaradddc.setText("");
mascaracel.setText("");
}}
}
);[/code]
segue aki tmb o validador de cpf para darem suas opinioes
[code]
public static boolean valida_cpf(String num_cpf) {
num_cpf = num_cpf.replace(".","");
num_cpf = num_cpf.replace(",","");
num_cpf = num_cpf.replace("/","");
num_cpf = num_cpf.replace("-","");
if(num_cpf.length() < 11) {
return false;
} else {
Pattern pat = Pattern.compile("\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d");
Matcher mtc = pat.matcher(num_cpf);
if(!mtc.find()) {
return false;
} else {
int[] validador = new int[] {11,10,9,8,7,6,5,4,3,2}; // Sequencia de validacao
int primeiro = 0, segundo = 0; // Digitos validadores
// Separa os digitos do cpf, multiplica esses digitos
// pelo validador e soma os multiplicados
int soma = 0;
int[] cpf = new int[num_cpf.length()];
for(int i = 0; i < cpf.length; i++) {
cpf[i] = Integer.parseInt(String.valueOf(num_cpf.charAt(i)));
if(i < (cpf.length-2)) {
soma += (cpf[i] * validador[i+1]);
}
}
// Pega o resto da divisao da soma por 11
// Se for menor que dois o primeiro digito eh zero
// Se for maior que dois o primeiro digito eh igual a (11 - resto)
if((soma % 11) < 2 ) {
primeiro = 0;
} else {
primeiro = (11 - (soma % 11));
}
if(primeiro != cpf[9]) {
return false;
} else {
// Multiplica os digitos do cpf + o primeiro validador pelo validador e soma os multiplicados
soma = 0;
for(int i = 0; i < cpf.length-1; i++) {
soma += (cpf[i] * validador[i]);
}
// Pega o resto da divisao da soma por 11
// Se for menor que dois o segundo digito eh zero
// Se for maior que dois o segundo digito eh igual a (11 - resto)
if((soma % 11) < 2 ) {
segundo = 0;
} else {
segundo = (11 - (soma % 11));
}
if(segundo != cpf[10]) {
return false;
} else {
return true;
}
}
}
}
} [/code]
VLW!