Boa noite, tenho uma classe chama ValidaCPF, juntamente com o campo CPF e Botão Salvar.
Minha duvida é, como eu vou chamar esse método, eu chamo o metedo no CPF ou no Botão?
Desculpe minha ignorância, eu estava puxando direto no botão, mas era no metodo como vc falou.
so que ainda da um erro, ele não esta validando
identar private void Adicionar() {
String sql = "insert into tbcampista(Nomecamp,endcamp,cpfcamp,TelefoneCamp,PlacaCamp,observacoes,Enbarca,Tipo,Perfil)"
+ " values(?,?,?,?,?,?,?,?,?"
+ ")";
try {
pst = conexao.prepareStatement(sql);
pst.setString(1, txtNomeCamp.getText());
pst.setString(2, txtEndeCamp.getText());
pst.setString(3, txtCpfCamp.getText());
pst.setString(4, txtfonecam.getText());
pst.setString(5, TxtPlaca.getText());
pst.setString(6, jObervacoes.getText());
pst.setString(7, Embarca.getSelectedItem().toString());
pst.setString(8, LTipo.getSelectedItem().toString());
pst.setString(9, TipoUsuario.getSelectedItem().toString());
if (((txtNomeCamp.getText().isEmpty()) || (txtCpfCamp.getText().isEmpty()))) {
JOptionPane.showMessageDialog(null, " Todos os Campos Marcados com *, são Obrigatórios");
} if (isValidCPF(txtCpfCamp.getText())) {
JOptionPane.showMessageDialog(null, "Atenção, o CPF digitado não é válido");
}
else {
int adicionado = pst.executeUpdate();
if (adicionado > 0) {
JOptionPane.showMessageDialog(null, "Campista Cadastrado com Sucesso!!!");
txtNomeCamp.setText(null);
//txtNomeCamp.setText(null);
txtEndeCamp.setText(null);
txtCpfCamp.setText(null);
txtfonecam.setText(null);
TxtPlaca.setText(null);
jObervacoes.setText(null);
Embarca.setSelectedItem(null);
LTipo.setSelectedItem(null);
TipoUsuario.setSelectedItem(null);
//TipoUsuario.setSelectedItem(null);
}
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this,e);
}
}
private void PesquisarCampistas() {
String sql = " select * from tbcampista where CpfCamp like ?";
try {
pst = conexao.prepareStatement(sql);
// Passando da caixa de pesquisa
pst.setString(1, txtPesquisarCamp.getText() + "%");
// executa a query
rs = pst.executeQuery();
// usa a biblioteca para preencher a tabela
tblCampista.setModel(DbUtils.resultSetToTableModel(rs));
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
acho que eu fiz errado a pergunta, digo colocar os Ifs de validação, pois tenho outro de campo obrigatórios, dai quando aperto em cadastrar eme chama ate o metodo faz sabe, só que não valida, mas teste só na classe ele da certo.
identar private void Adicionar() {
String sql = "insert into tbcampista(Nomecamp,endcamp,cpfcamp,TelefoneCamp,PlacaCamp,observacoes,Enbarca,Tipo,Perfil)"
+ " values(?,?,?,?,?,?,?,?,?"
+ ")";
{
try {
pst = conexao.prepareStatement(sql);
pst.setString(1, txtNomeCamp.getText());
pst.setString(2, txtEndeCamp.getText());
pst.setString(3, txtCpfCamp.getText());
pst.setString(4, txtfonecam.getText());
pst.setString(5, TxtPlaca.getText());
pst.setString(6, jObervacoes.getText());
pst.setString(7, Embarca.getSelectedItem().toString());
pst.setString(8, LTipo.getSelectedItem().toString());
pst.setString(9, TipoUsuario.getSelectedItem().toString());
if (((txtNomeCamp.getText().isEmpty()) || (txtCpfCamp.getText().isEmpty()))) {
JOptionPane.showMessageDialog(null, " Todos os Campos Marcados com *, são Obrigatórios");
//se o cpf digitado for válido
//deixa cadastrar
} else {
int adicionado = pst.executeUpdate();
if (adicionado > 0) {
JOptionPane.showMessageDialog(null, "Campista Cadastrado com Sucesso!!!");
txtNomeCamp.setText(null);
//txtNomeCamp.setText(null);
txtEndeCamp.setText(null);
txtCpfCamp.setText(null);
txtfonecam.setText(null);
TxtPlaca.setText(null);
jObervacoes.setText(null);
Embarca.setSelectedItem(null);
LTipo.setSelectedItem(null);
TipoUsuario.setSelectedItem(null);
//TipoUsuario.setSelectedItem(null);
}
}
} catch (HeadlessException | SQLException e) {
JOptionPane.showMessageDialog(this, e);
}
}
}
eu fiz isso em um site, entao não está identado e pode ter erro de digitação ou sintaxe, mas se vc fizer assim funciona, e seu código fica mais organizado
Amigos, primeiramente quero agradecer vcs, por pela humildade e disponibilidade que estão tento. Faz as alterações, mas agora j-só da Cpf invalido. Vou deixar a classe que estou usando pra validar.
identar texto pré-formatado por 4 espaços
public class ValidaCPF {
public static boolean ValidacaoCPF(String CPF) {
// considera-se erro CPF’s formados por uma sequencia de numeros iguais
if (CPF.equals(“00000000000”) ||
CPF.equals(“11111111111”) ||
CPF.equals(“22222222222”) || CPF.equals(“33333333333”) ||
CPF.equals(“44444444444”) || CPF.equals(“55555555555”) ||
CPF.equals(“66666666666”) || CPF.equals(“77777777777”) ||
CPF.equals(“88888888888”) || CPF.equals(“99999999999”) ||
(CPF.length() != 11))
return(false);
char dig10, dig11;
int sm, i, r, num, peso;
// "try" - protege o codigo para eventuais erros de conversao de tipo (int)
try {
// Calculo do 1o. Digito Verificador
sm = 0;
peso = 10;
for (i=0; i<9; i++) {
// converte o i-esimo caractere do CPF em um numero:
// por exemplo, transforma o caractere '0' no inteiro 0
// (48 eh a posicao de '0' na tabela ASCII)
num = (int)(CPF.charAt(i) - 48);
sm = sm + (num * peso);
peso = peso - 1;
}
r = 11 - (sm % 11);
if ((r == 10) || (r == 11))
dig10 = '0';
else dig10 = (char)(r + 48); // converte no respectivo caractere numerico
// Calculo do 2o. Digito Verificador
sm = 0;
peso = 11;
for(i=0; i<10; i++) {
num = (int)(CPF.charAt(i) - 48);
sm = sm + (num * peso);
peso = peso - 1;
}
r = 11 - (sm % 11);
if ((r == 10) || (r == 11))
dig11 = '0';
else dig11 = (char)(r + 48);
// Verifica se os digitos calculados conferem com os digitos informados.
if ((dig10 == CPF.charAt(9)) && (dig11 == CPF.charAt(10)))
return(true);
else return(false);
} catch (InputMismatchException erro) {
return(false);
}
}
public static String imprimeCPF(String CPF) {
return(CPF.substring(0, 3) + "." + CPF.substring(3, 6) + "." +
CPF.substring(6, 9) + "-" + CPF.substring(9, 11));
}
// public static void main(String[] args){
//if(ValidacaoCPF("95353305000")){
// System.out.println("o cpf é valido");
//} else {
// System.out.println("esse cpf nao existe");
}