Validação campos Formulários JavaSE

1 resposta
josimarsis

Boa noite pessoal, gostaria de uma opinião de vcs. Qual a melhor maneira de se realizar as validações dos campos de Formulários JavaSE visando o melhor entendimento, reutilização de código e boas práticas de programação? Dentro do próprio evento dos botões? ou separar em metodos? Ultimamente tenho feito da maneira abaixo, porém, não sei se é a melhor maneira gostaria de sugestões.

//Método de Validação
@Override
    public boolean validar() {
        if (jtfNome.getText().trim().equals("") || jtfEmail.getText().trim().equals("")
                || jtfCargo.getText().trim().equals("")
                || Util.removeCharacters(jftCpf.getText()).trim().equals("")
                || Util.removeCharacters(jftDataInicial.getText()).trim().equals("")) {
            JOptionPane.showMessageDialog(null, "Campos em negrito são obrigatórios!", "Advertência", JOptionPane.WARNING_MESSAGE);
            return false;
        }
        if (!Util.removeCharacters(jftCpf.getText()).trim().equals("")
                && !validador.validaCpf(Util.removeCharacters(jftCpf.getText()))) {
            JOptionPane.showMessageDialog(null, "CPF inválido!", "Advertência", JOptionPane.WARNING_MESSAGE);
            return false;
        }
        
        if (!validador.validaData(jftDataInicial.getText())) {
            JOptionPane.showMessageDialog(null, "Data inválida!", "Advertência", JOptionPane.WARNING_MESSAGE);
            return false;
        }
        return true;
    }
@Override
    public void salvar() {
        entity = new Reg0100();
        entity.setReg(jtfReg.getText());
        entity.setEmprTec(jtfNome.getText());
        entity.setCpf(Util.removeCharacters(jftCpf.getText()).trim());
        entity.setCargo(jtfCargo.getText());
        entity.setDtIniServInf(Util.removeCharacters(jftDataInicial.getText()));
        entity.setEmail(jtfEmail.getText());
        //Chamada da Validação
        if (validar()) {
            Conexao.salvar(entity);
            FrmGerarArquivo.getInstancia().preencheComboTecnico();
            cancelar();
        }
    }

1 Resposta

HenriqueBR

josimarsis,

Uso a validação quase da mesma forma que você, mas faço de maneira individual para cada campo.

if (jtfNome.getText().trim().equals(""))
{
   JOptionPane.showMessageDialog(null, "O Campo Nome deve ser preenchido!", "Advertência", JOptionPane.WARNING_MESSAGE);  
   jtfNome.requestFocus();

}

if (jtfEmail.getText().trim().equals(""))
{
   JOptionPane.showMessageDialog(null, "O Campo Email deve ser preenchido!", "Advertência", JOptionPane.WARNING_MESSAGE);  
   jtfEmail.requestFocus();

}

O foco no campo que é obrigatório facilita a vida do usuário.

Criado 27 de junho de 2013
Ultima resposta 28 de jun. de 2013
Respostas 1
Participantes 2