约束验证器旧值
Constraint validator old value
我在 spring 引导应用程序中使用休眠验证程序。
我想创建一个注释,它将验证字段的可更新性。像 @Updatable(WHILE_NEW) 这样的东西。
我根据休眠文档创建了自定义休眠验证器。
public class UpdatableConstraintValidator implements ConstraintValidator<UpdatableConstraint, Object> {
Updatable updatableMode;
@Override
public void initialize(UpdatableConstraint updatableConstraint) {
this.updatableMode = updatableConstraint.value();
}
@Override
public boolean isValid(Object field, ConstraintValidatorContext cxt) {
...some logic...
return result;
}
}
我的问题是,是否有办法查明正在验证的操作是 CREATE 还是 UPDATE?
如果是 UPDATE,有没有办法找出验证字段的旧值?
不知道 Spring 引导,但我可以肯定地说,您将无法在 Hibernate Validator 边界内执行此操作。
Hibernate Validator 只看到 bean 的当前状态,完全不知道它的生命周期。
我在 spring 引导应用程序中使用休眠验证程序。 我想创建一个注释,它将验证字段的可更新性。像 @Updatable(WHILE_NEW) 这样的东西。 我根据休眠文档创建了自定义休眠验证器。
public class UpdatableConstraintValidator implements ConstraintValidator<UpdatableConstraint, Object> {
Updatable updatableMode;
@Override
public void initialize(UpdatableConstraint updatableConstraint) {
this.updatableMode = updatableConstraint.value();
}
@Override
public boolean isValid(Object field, ConstraintValidatorContext cxt) {
...some logic...
return result;
}
}
我的问题是,是否有办法查明正在验证的操作是 CREATE 还是 UPDATE? 如果是 UPDATE,有没有办法找出验证字段的旧值?
不知道 Spring 引导,但我可以肯定地说,您将无法在 Hibernate Validator 边界内执行此操作。
Hibernate Validator 只看到 bean 的当前状态,完全不知道它的生命周期。