首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ControlsFX:验证结果

ControlsFX:验证结果
EN

Stack Overflow用户
提问于 2016-12-19 18:26:35
回答 1查看 1.1K关注 0票数 2

我想在JavaFx中使用ControlsFX进行一些验证。我的代码是这样的:

代码语言:javascript
复制
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是否为空?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-19 18:39:27

您的isValid变量和if语句实际上没有做任何事情。ValidationSupport包含一个可观察到的 property,您可以使用它注册侦听器:

代码语言:javascript
复制
support.invalidProperty().addListener((obs, wasInvalid, isNowInvalid) -> {
    if (isNowInvalid) {
        System.out.println("Invalid");
    } else {
        System.out.println("Valid");
    }
});

或者(也许更方便)注册绑定:

代码语言:javascript
复制
Button okButton = new Button("OK");
okButton.disableProperty().bind(support.invalidProperty());

最后一个代码段将确保只有当文本字段不为空时才启用okButton

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41228760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档