JavaFX Sqlite检查TextField是否为空

时间:2016-03-21 14:43:52

标签: java sqlite javafx

我现在正在努力检查所有我的输入字段== ""

我在这里找到了很多解决方案,但不知何故它不起作用。

我有一个RegistrationModal和一个RegistrationController。

在模态中,我试图检查这样的字段:

public boolean RegisterUser(String user, String vorname, String nachname) throws SQLException {

    PreparedStatement preparedStatement = null;

    if (user == "" || vorname == "" || nachname == "") {
        System.out.println("Fill in all fields");
        return false;
    }
// Here follows the SQL query the prepared statement and exequte
}

但它永远不会使用这个if语句,我不知道为什么?

我还试图捕捉控制器中的空元素:

public void Absenden(ActionEvent event) {
    try {
        if (registerModel.RegisterUser(txt_user.getText(), txt_vorname.getText(),
                txt_nachname.getText())) {


            if (registerModel.RegisterUser(txt_user.getText().trim().isEmpty(), txt_vorname.getText().trim().isEmpty(),
                    txt_nachname.getText().trim().isEmpty())) {
                System.out.println("False! Do something?");
            }


            // Here opens the new window with a notification Registration was successfull
            ((Node) event.getSource()).getScene().getWindow().hide();
}

这里我有错误,这就是为什么两个if语句已经看起来很奇怪,我不得不在模型中自动生成一个新方法以使其与布尔值一起工作,但它仍然从未使用过这个if语句。

我试图只提供相关代码,否则会更多。

也许有人有个主意。

由于

2 个答案:

答案 0 :(得分:0)

如果有一个或多个空格作为输入,您的情况将会失败。

您应始终trim(),然后检查长度是否为0

user.trim().length==0

另外如果要查看内容,请始终使用equals代替==

答案 1 :(得分:0)

你应该尝试这样

             if(use.trim.length<0)

               {
                  // todo code !!
                 }