gpt4 book ai didi

validation - ControlsFX 复杂验证

转载 作者:行者123 更新时间:2023-12-03 21:37:30 24 4
gpt4 key购买 nike

我需要使用密码和密码确认来验证简单的 JavaFX 表单。

validationSupport.registerValidator(passwordInput,
Validator.createEmptyValidator("Password required!"));
validationSupport.registerValidator(confirmPasswordInput,
new EqualsToValidator(passwordInput.textProperty(),
"Password differs from confirmation"));

在 EqualsToValidator 中,我只是比较 property.getValue()value传递给验证器。

如果我只更改密码 EqualsToValidator未被调用,因为它正在监听 confirmPasswordInput不是 passwordInput .

我只找到了丑陋的解决方案:
passwordInput.textProperty().addListener((observable, oldValue, newValue) -> {
String oldText = confirmPasswordInput.getText();
confirmPasswordInput.setText(null);
confirmPasswordInput.setText(oldText);
});

当另一个字段更改时如何使一个字段无效?

最佳答案

My implementation

Validator.java - 验证器的基类。

TextValidator.java 和 PasswordValidator.java - 实现。

ValidationSupport.java 跟踪所有验证器。

用法:

validationSupport.addValidator(new TextValidator(usernameInput, "Username is required!"));
validationSupport.addValidator(new TextValidator(passwordInput, "Password is required!"));
validationSupport.addValidator(new PasswordValidator(passwordInput, confirmPasswordInput, "Password differs from confirmation"));

关于validation - ControlsFX 复杂验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33393159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com