Validation [vaadin]在一个字段中添加一个验证器,该字段依赖于表单中的另一个字段;表格.受挫(真实)&引用;
我有一个问题。那就是如果我使用“form.setBuffered(true);”,我不能这样验证:Validation [vaadin]在一个字段中添加一个验证器,该字段依赖于表单中的另一个字段;表格.受挫(真实)&引用;,validation,vaadin,custom-validators,Validation,Vaadin,Custom Validators,我有一个问题。那就是如果我使用“form.setBuffered(true);”,我不能这样验证: field.addValidator(new Validator() { @Override public void validate(Object o) throws InvalidValueException { //FIXME There is the problem.if i set "form.setBuffered(true);",I can't get
field.addValidator(new Validator() {
@Override
public void validate(Object o) throws InvalidValueException {
//FIXME There is the problem.if i set "form.setBuffered(true);",I can't get latest testBean.
if (testBean.getId().equals(testBean.getName())) {
throw new Validator.InvalidValueException("id can't equals name.");
}
}
});
代码如下:
那么,有什么办法可以解决这个问题
对不起,我的英语很差。缓冲
的想法是保持bean完整,只使用commit
编写它。因此,那里的测试读取bean的当前值(它保存初始值,这是正常的,因此没有验证错误)。如果您用错误的数据提交一次,您将看到,您再也不能提交了,因为现在验证触发了
解决这个问题的一种方法是记住本例中的字段,并比较name
和id
字段的当前值。提交前,它们是用户输入的唯一来源。好吧,因为没有其他答案。@Fanappelin如果您对答案不满意,请不要接受它。也要考虑评论,你有什么问题。