null値をチェックして、Swingフォームからの入力を検証しようとしています。ただし、checkFirstNameメソッドは常にtrueを返します。したがって、たとえば、フォームで名を空白のままにすると、フィールドがnullであってもtrueが返されます。
これが私の2つの方法です。最初の方法は、ユーザーが保存ボタンをクリックしたときに発生します。
public void saveNewCustomer() throws SQLException, ClassNotFoundException {
boolean dbOK = false;//boolean to check if data input is not null
System.out.println(dbOK);
String firstName = txtNCustomerFirstName.getText();
String lastName = txtNCustomerLastName.getText();
if (checkFirstName(firstName)) {
dbOK = true;
} else {
lblNCustFirstNameError.setText("First Name Must be Entered");
dbOK = false;
}
System.out.println(dbOK);
if (dbOK) {
dbConnector.insertSignup(firstName, lastName);
System.out.println("Success");
} else {
System.out.println("Error");
}
}
public boolean checkFirstName(String firstName) {
boolean allOK = false;
System.out.println(allOK);
if (firstName != null) {
allOK = true;
} else {
allOK = false;
}
return allOK;
}
何か間違ったことをしたことがありますか?これは、firstnameフィールドがnullであるため、falseを返す必要があります。