gpt4 book ai didi

smartgwt - 如何在 smartGWT 中创建自定义验证器?

转载 作者:行者123 更新时间:2023-12-04 17:38:42 25 4
gpt4 key购买 nike

我有 2 个 TimeItems,我希望能够验证第二个项目的值不大于第一个。

我知道我必须从 CustomValidator 继承并将我的验证逻辑放在#condition 中,我可以使用 #getFormItem 检索已验证项目的值,但我不知道如何将第一个字段的值传递给验证器

最佳答案

或者为了更好的可读性和代码可维护性,使用嵌套类:

class YourClass {
private TimeItem timeItem1;
private TimeItem timeItem2;

public YourClass() {
//Instantiate your TimeItem objects.
...

//Set the validator
MyCustomValidator validator = new MyCustomValidator();
timeItem1.setValidators(validator);

/Assuming that both items should check validation.
timeItem2.setValidators(validator);
}

...
class MyCustomValidator extends CustomValidator {

@Override
protected boolean condition(Object value) {
//Validate the value of timeItem1 vs the timeItem2
//Overide equals or transform values to
if (timeItem1.getValueAsString().equals(timeItem2.getValueAsString()) {

//Return true or false.
}
return false;
}
...
}
}

如果您更喜欢为两个 TimeItem 对象创建 getter 方法,以避免在嵌套类中使用私有(private)属性。

关于smartgwt - 如何在 smartGWT 中创建自定义验证器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9837212/

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