Validação de cnpj

6 respostas
william_sistema

meus caros fiz a seguinte validação para cnpj.

private void ftcCnpjFocusLost(java.awt.event.FocusEvent evt) { if (!ftcCnpj.getText().equals("")) { if (ftcCnpj.getText().length() >= 14) { try { Cnpj cnpj; cnpj = new Cnpj(ftcCnpj.getText().trim()); if (!cnpj.isValid()) { JOptionPane.showMessageDialog(null, "CNPJ incorreto, Por favor, verifique.", "ERRO", JOptionPane.ERROR_MESSAGE); ftcCnpj.requestFocus(true); } } catch (ValidationException ex) { Logger.getLogger(FornecedorDetalhe.class.getName()).log(Level.SEVERE, null, ex); } } else { JOptionPane.showMessageDialog(null, "CNPJ incorreto, Por favor, verifique.", "ERRO", JOptionPane.ERROR_MESSAGE); ftcCnpj.requestFocus(true); } } }

ele esta validando certinhoo problema é que a menssagem do JOptionPane aparece 4 vezes caso o snpj é digitado errado, alguma sugestão?

6 Respostas

guisantogui

talvez seja o metodo isValid() :?

william_sistema

é que no tutorial do BrazilUtis diz para usar o isvalid, teria outro comando para usar no lugar dele?

agradeço a atenção.

Hebertbc

O detalhe é o seguinte qdo da o erro e apresenta o dialogo o campo ftcCnpj perde o foco(chamando o evento novamente), qdo o dialogo fecha ele chama o evento disparado anteriormente.

william_sistema

Entendi meu caro imagino que é este o problema mesmo, teria alguma sugestão para resolver.?

Hebertbc

Se vc retirar a parte que pede o foco novamente resolve, tipo vc pode mudar a cor do fundo do campo pra saber que esta com erro.

try {
            if (!ftcCnpj.getText().isEmpty()) {
                if (!(new Cnpj(ftcCnpj.getText().trim()).isValid())) {
                    JOptionPane.showMessageDialog(null,
                            "CNPJ incorreto, Por favor, verifique.", "ERRO", JOptionPane.ERROR_MESSAGE);
                    ftcCnpj.setBackground(Color.red);
                }
            }else{
                ftcCnpj.setBackground(Color.WHITE);
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
william_sistema

meu caro eu agradeço muito a sua informação funciona sim, (apesar de querer não deixar o usuario sair do ftcCnpj)

mais assim já resolve o meu problema.

agradeço muito.

Criado 23 de abril de 2010
Ultima resposta 23 de abr. de 2010
Respostas 6
Participantes 3