Hallo,
in meinem Controller verwende ich zur validierung von textfeldern eine Validierung mit folgender Funktion durch
diese wird wie folgt aufgerufen:
bei allen textfeldern funktioniert es. Nur beim emailTextField kommt es zu einer Nullpointexecption:
So richtig nachvollziehen kann ich es nicht, da das Textfield in der fxml definiert ist, als Variable definiert ist und alle anderen Textfields keine Nullpointer werfen.
Sollte noch etwas Code benötigt werden einfach bescheid geben. ich wollte nicht gleich den ganzen Beitrag damit vollballern.
VG Georg
in meinem Controller verwende ich zur validierung von textfeldern eine Validierung mit folgender Funktion durch
Java:
package abu.uivalidation;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
public class TextFieldValidation {
public static boolean isTextFieldNotEmpty(TextField tf) {
boolean b = false;
if(tf.getText().length() != 0 || !tf.getText().isEmpty())
b = true;
return b;
}
public static boolean isTextFieldNotEmpty(TextField tf, Label lb, String errorMessage){
boolean b = true;
String msg = null;
if(!isTextFieldNotEmpty(tf)) {
b = false;
msg = errorMessage;
}
lb.setText(msg);
return b;
}
}
diese wird wie folgt aufgerufen:
Java:
boolean isNameEmpty = TextFieldValidation.isTextFieldNotEmpty(nameTextField, checkNameLabel, "*");
boolean isVornameEmpty = TextFieldValidation.isTextFieldNotEmpty(vornameTextField, checkVornameLabel, "*");
boolean isStrHnrEmpty = TextFieldValidation.isTextFieldNotEmpty(strasseHausnummerTextField, checkStrHNrLabel, "*");
boolean isPLZEmpty = TextFieldValidation.isTextFieldNotEmpty(plzTextField, checkPLZLabel, "*");
boolean isOrtEmpty = TextFieldValidation.isTextFieldNotEmpty(ortTextField, checkOrtLabel, "*");
boolean isEmailEmpty = TextFieldValidation.isTextFieldNotEmpty(emailTextField, checkEmailLabel, "*"); //Nullpointer
if (isNameEmpty || isVornameEmpty || isStrHnrEmpty || isPLZEmpty || isOrtEmpty || isEmailEmpty) {
showInputErrorLabel.setVisible(false);
} else {
showInputErrorLabel.setVisible(true);
}
bei allen textfeldern funktioniert es. Nur beim emailTextField kommt es zu einer Nullpointexecption:
Code:
... 107 more
Caused by: java.lang.NullPointerException: Cannot invoke "String.length()" because the return value of "javafx.scene.control.TextField.getText()" is null
at abu.uivalidation.TextFieldValidation.isTextFieldNotEmpty(TextFieldValidation.java:9)
at abu.uivalidation.TextFieldValidation.isTextFieldNotEmpty(TextFieldValidation.java:17)
Caused by: java.lang.NullPointerException: Cannot invoke "String.length()" because the return value of "javafx.scene.control.TextField.getText()" is null
at abu.uioperations.UpdateCustomerDialogController.updateCustomerData(UpdateCustomerDialogController.java:213)
Sollte noch etwas Code benötigt werden einfach bescheid geben. ich wollte nicht gleich den ganzen Beitrag damit vollballern.
VG Georg