我需要使用密码和密码确认来验证简单的 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);
});
当另一个字段更改时如何使一个字段无效?