我将 gwt 与 RequestFactory 一起使用,我想使用 JSR303 验证,但问题是当我使用 requestFactory 调用方法时,例如 add(object o) 它调用每个字段的验证 2 次,例如,当我调用 save 方法时对于具有使用自定义 notnull 注释注释的字段的对象:
currentContext.add(toPersist).fire(new Receiver<Void>() {
@Override
public void onSuccess(Void response) {
}
});
我自定义的 notnull 注释显示了要验证的值
public class NotEmptyValidator implements
ConstraintValidator<NotEmpty, Object>{
@Override
public void initialize(NotEmpty constraintAnnotation) {
}
@Override
public boolean isValid(Object value, ConstraintValidatorContext context) {
System.out.println("the value "+value);
return (value==null || value.toString().trim().equals("")) ? false:true;
}
}
我在同一字段的控制台上收到:
当我尝试添加新实体时:[INFO] 值测试 [INFO] 值测试
当我尝试修改现有实体时:[INFO] 值测试 [INFO] 值 null
我的问题是为什么验证被调用 2 次,为什么当我尝试修改时第二次值为 null?