表单验证无法正常工作

时间:2012-05-04 04:38:30

标签: java swing netbeans

我正在使用netbeans和Java SE编写一个简单的GUI,我似乎无法使输入验证正常工作。我有一个JTextField和2个JPasswordField对象,我想在用户点击提交按钮时检查这些字段是否为空。如果密码字段为空,它可以正常工作,但是如果我在用户名字段中输入内容,则在其他表单元素未填充数据时,它会打印已提交的数据。以下是下面的代码,非常感谢任何帮助......

// test that none of the fields are empty before submitting form data
if (!username_input.getText().isEmpty() && !password_input1.getPassword().toString().isEmpty() 
                && !password_input2.getPassword().toString().isEmpty())
        {
            System.out.println("Data has been submitted!");
        }
        else
        {
            System.out.println("Form has not been filled in correctly!\nPlease try again");
        }

2 个答案:

答案 0 :(得分:1)

使用类似

的内容
!username_input.getText().toString().equals("")&& 
!new String(password_input1.getPassword()).equals("") &&
!new String(password_input2.getPassword()).equals("")

答案 1 :(得分:0)

boolean expression更改为:

!username_input.getText().isEmpty() && 
password_input1.getPassword().lenght == 0 &&   
password_input2.getPassword().lenght == 0

方法getPassword()会返回char array,您需要在lenght == 0中查看JPasswordField的空值。