Estou com problemas na hora de criar uma tela de Editar Dados, gostaria de quando o usuário deixasse algum campo vazio aparecesse uma mensagem para ele não deixar em branco, para não sobrescrever no banco o que estava completado já.
Tive problemas por ser JTextField e JPasswordField de acordo como foi colocado no código abaixo
if(passSenha==""&&passSenhaConf==""&&passNovaSenha==""&&txtTipoUsuario==""&&txtNome==""&&txtSenha==""&&txtNovaSenha==""&&txtSenhaConf==""&&txtEmail==""&&txtEmailConf==""&&txtRaRf==""&&txtArea==""&&txtSexo=="")
{
System.out.println("Os campos nao podem ficar vazios!");JOptionPane.showMessageDialog(this,"Os campos nao podem ficar vazios!");
}
if((passSenha.getText().replace(" ","").isEmpty())||(passSenhaConf.getText().replace(" ","").isEmpty())||//seguealógica){
System.out.println("Os campos nao podem ficar vazios!");JOptionPane.showMessageDialog(this,"Os campos nao podem ficar vazios!");
}
onde: passSenha.getText().replace(" ","").isEmpty() eu pego o texto que está neste neste JTextField ou JPasswordField, repasso os espaços que tem por vazio(para se o usuário digitar somente espaços nos campos) e depois verifico se essa String que foi retornada está vazia.
Ai é só verificar em todos os campos, e usando o ||, pois com o || se apenas um campo estiver vazio ele já exibe a mensagem.
D
dennissiq
Obrigado!
Eu tinha pensado anteriormente em utilizar o && para que somente depois que todos os campos estivessem completados fosse ocorrido, porém vi que seria melhor utilizando o ||, obrigado por ajudar com tudo :slight_smile:
[edit]
if(event.getSource()==btnSalvar){if((passSenha.getText().replace(" ","").isEmpty())||(passSenhaConf.getText().replace(" ","").isEmpty())||(passNovaSenha.getText().replace(" ","").isEmpty())||(txtTipoUsuario.getText().replace(" ","").isEmpty())||(txtNome.getText().replace(" ","").isEmpty())||(txtSenha.getText().replace(" ","").isEmpty())||(txtNovaSenha.getText().replace(" ","").isEmpty())||(txtSenhaConf.getText().replace(" ","").isEmpty())||(txtEmail.getText().replace(" ","").isEmpty())||(txtEmailConf.getText().replace(" ","").isEmpty())||(txtRaRf.getText().replace(" ","").isEmpty())||(txtArea.getText().replace(" ","").isEmpty())||(txtSexo.getText().replace(" ","").isEmpty())){System.out.println("Os campos nao podem ficar vazios!");JOptionPane.showMessageDialog(this,"Os campos não podem ficar vazios!");}if(passSenha.getText().equals(passSenhaConf.getText())!=(passSenha.getText().replace(" ","").isEmpty())||(passSenhaConf.getText().replace(" ","").isEmpty())&&txtEmail.getText().equals(txtEmailConf.getText())!=(txtEmail.getText().replace(" ","").isEmpty())||(txtEmailConf.getText().replace(" ","").isEmpty())){//utilizargetTextparacomparar.//faltaimplementarcomobancoSystem.out.println("Dados Alterados com sucesso");JOptionPane.showMessageDialog(this,"Dados Alterados com sucesso!");this.dispose();}else{System.out.println("E-mail ou senha invalidos!");JOptionPane.showMessageDialog(null,"E-mail ou Senha inválidos!");}}
Eu coloquei desta forma e mesmo assim mas agora aparece a mensagem "Os campos nao podem ficar vazios!" porém mesmo assim quando dou o ok, mostra que os Dados Foram alterados do mesmo jeito, o que estou fazendo de errado? Eu gostaria que os dados fossem alterados somente quando os Campos não estivessem vazios e as senhas estivessem corretas.