我有一个带有一些输入字段的窗格,在将文本输入字段时,验证工作正常, 如果提交按钮如何触发选中的输入字段进行验证,请建议我们 验证javafx中的输入控件,如果我单击“提交”按钮,则要显示所有输入控件验证消息。
static RequiredFieldValidator usernmeEmptyValidator = new RequiredFieldValidator();
public static GridPane getEmplyee() {
Label titles = new Label("Monitor");
JFXTextField firstName = new JFXTextField();
firstName.setLabelFloat(true);
firstName.setPromptText("First Name");
emptyValidator(firstName,"Please Enter first Name");
JFXTextField lastName = new JFXTextField();
lastName.setLabelFloat(true);
lastName.setPromptText("Last Name");
emptyValidator(lastName,"Please Enter last Name");
JFXTextField mobile = new JFXTextField();
mobile.setLabelFloat(true);
mobile.setPromptText("Mobile");
JFXTextArea address = new JFXTextArea();
address.setPromptText("Address:");
address.setStyle("-fx-background-color: #d1e0e0;");
JFXButton submit = new JFXButton("Submit");
GridPane gridPane = new GridPane();
gridPane.add(titles,0);
gridPane.add(firstName,1);
gridPane.add(lastName,2);
gridPane.add(mobile,3);
gridPane.add(address,4);
gridPane.add(submit,5);
gridPane.setPadding(new Insets(50,50));
gridPane.setVgap(40);
submit.setOnaction(e -> {
//
});
return gridPane;
}
public static void emptyValidator(JFXTextField textField,String message) {
textField.getValidators().add(usernmeEmptyValidator);
usernmeEmptyValidator.setMessage(message);
textField.focusedProperty().addListener(new changelistener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> observable,Boolean oldValue,Boolean newValue) {
if (!newValue) {
textField.validate();
}
}
});
} ```