Pessoal,
tenho estes dois campos:
São campos formatados para telefone fixo e celular. Estou tentando validar os campos se estão nulos, utilizando estes códigos:
else if(jFormattedTextFieldCelular.getValue().equals(""))
{
JOptionPane.showMessageDialog(null, “Favor informar o CELULAR.”);
jFormattedTextFieldCelular.requestFocus();
return;
}
else if(jFormattedTextFieldTelFixo.getText().equals(" - "))
{
JOptionPane.showMessageDialog(null, “Favor informar o TELEFONE FIXO.”);
jFormattedTextFieldTelFixo.requestFocus();
return;
}
O problema que não são checados. O que estou fazendo de errado?
Seu campo é formatado, coloca assim:
else if(jFormattedTextFieldCelular.getValue().equals("() - ")){
E no outro a mesma coisa, no equals("") vc deve colocar da mesma maneira que vc formatou seu campo, isso inclui os parenteses, a quantidade de espaços e o “tracinho”.
Ele não valida porque a formatação impressa no jFormattedTextField já é considerada conteúdo no campo.
Você pode fazer da seguinte maneira:
if (jFormattedTextFieldCelular.getText().equals("( ) - "))
{
JOptionPane.showMessageDialog(null, "Favor informar o CELULAR.");
jFormattedTextFieldCelular.requestFocus();
return;
}
Ou fazer um replace no campo retirando a formatação para depois validar se ele está vazio ou não.
Se quer verificar se não é nulo, faça o teste comparando com null:
jFormattedTextFieldCelular.getValue() != null
porque se o cara não preencher o campo, o VALUE será NULL.
Obs.: se querem compara com a máscara ai devem usar getText.
Pessoal,
Obrigado pela ajuda, consegui resolver. Utilizei dessa forma os códigos:
else if(jFormattedTextFieldCelular.getValue() == null)
{
JOptionPane.showMessageDialog(null, “Favor informar o CELULAR.”);
jFormattedTextFieldCelular.requestFocus();
return;
}
else if(jFormattedTextFieldTelFixo.getValue() == null)
{
JOptionPane.showMessageDialog(null, “Favor informar o TELEFONE FIXO.”);
jFormattedTextFieldTelFixo.requestFocus();
return;
}