我正在使用ZK 8 MVVM表单验证系统,通常它似乎做我想要的,但我想知道依赖属性索引的定义是什么......
我们来看一个简单的验证器......
public class FormValidator extends AbstractValidator {
@Override
public void validate(final ValidationContext ctx) {
Property[] properties = ctx.getProperties("firstName");
Object value0 = properties[0].getValue();
Object value1 = properties[1].getValue();
}
}
因此,当在save命令之前调用它时,对于每个属性,我得到一个长度为2的Property[]
数组。但不知何故,我还没有找到[0]
中存储的内容[1]
中存储的内容。有时似乎[0]
存储当前值(根据那里的字段验证器可能有效或可能无效)和[1]
最后一个有效条目...但有时似乎是另一种方式...
documentation中的示例似乎总是将第一个元素([0]
)用于验证,但我希望了解这一对的两个部分实际上是什么意思......
有人对此有所了解吗?
答案 0 :(得分:0)
我的回答可能不合适,但如果你使用的是ZK8,你应该考虑使用Form binding
这样您就不必在验证器中处理属性,并且可以检索与您用于表单的bean匹配的代理对象。 如果您正在使用具有firstName和lastName attribut的用户POJO。
User myProxy= (User ) ctx.getProperty().getValue();
然后你可以通过在myProxy上执行getFirstName和getLastName来验证这两个字段。
希望它有所帮助。