Validation ControlsFX:验证结果

Validation ControlsFX:验证结果,validation,javafx,controlsfx,Validation,Javafx,Controlsfx,我想使用ControlsFX在JavaFx中进行一些验证。我的代码如下: ValidationSupport support = new ValidationSupport(); boolean isValid = true; if(textField.getText().trim().isEmpty()) isValid = false; support.registerValidator(testField, Validator.createEmptyValidator("This fiel

我想使用
ControlsFX
JavaFx
中进行一些验证。我的代码如下:

ValidationSupport support = new ValidationSupport();
boolean isValid = true;
if(textField.getText().trim().isEmpty()) isValid = false;
support.registerValidator(testField, Validator.createEmptyValidator("This field is required!"));

我的问题是,是否可以省略
if
条件,并从验证支持中提取
textField
是否为空您的
是有效的
变量,而
if
语句实际上没有做任何事情。
ValidationSupport
包含一个可观察的,您可以使用它注册侦听器:

support.invalidProperty().addListener((obs, wasInvalid, isNowInvalid) -> {
    if (isNowInvalid) {
        System.out.println("Invalid");
    } else {
        System.out.println("Valid");
    }
});
或者(可能更方便)注册绑定:

Button okButton = new Button("OK");
okButton.disableProperty().bind(support.invalidProperty());

最后一个代码片段将确保只有在文本字段不为空时才启用
ok按钮

如果我需要验证多个文本字段(我的if条件是为了防止对话框窗口关闭),如何应用此项,只需为每个文本字段注册一个
support