我想在JavaFx中使用ControlsFX进行一些验证。我的代码是这样的:
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是否为空?
发布于 2016-12-19 18:39:27
您的isValid变量和if语句实际上没有做任何事情。ValidationSupport包含一个可观察到的 property,您可以使用它注册侦听器:
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());最后一个代码段将确保只有当文本字段不为空时才启用okButton。
https://stackoverflow.com/questions/41228760
复制相似问题