我现在正在努力检查所有我的输入字段== ""
。
我在这里找到了很多解决方案,但不知何故它不起作用。
我有一个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语句。
我试图只提供相关代码,否则会更多。
也许有人有个主意。
由于
答案 0 :(得分:0)
如果有一个或多个空格作为输入,您的情况将会失败。
您应始终trim()
,然后检查长度是否为0
即
user.trim().length==0
另外如果要查看内容,请始终使用equals
代替==
答案 1 :(得分:0)
你应该尝试这样
if(use.trim.length<0)
{
// todo code !!
}