Spring boot 约束验证器旧值
我在spring引导应用程序中使用hibernate验证程序。 我想创建一个注释,它将验证字段的可更新性。比如@updateable(WHILE_NEW)。 我已经根据hibernate文档创建了自定义hibernate验证器Spring boot 约束验证器旧值,spring-boot,hibernate-validator,Spring Boot,Hibernate Validator,我在spring引导应用程序中使用hibernate验证程序。 我想创建一个注释,它将验证字段的可更新性。比如@updateable(WHILE_NEW)。 我已经根据hibernate文档创建了自定义hibernate验证器 public class UpdatableConstraintValidator implements ConstraintValidator<UpdatableConstraint, Object> { Updatable updatableMod
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;
}
}
公共类UpdateableConstraintValidator实现ConstraintValidator{
可更新模式;
@凌驾
public void initialize(updateableconstraint updateableconstraint){
this.updateablemode=updateableconstraint.value();
}
@凌驾
公共布尔值有效(对象字段,ConstraintValidatorContext cxt){
…一些逻辑。。。
返回结果;
}
}
我的问题是,是否有办法确定正在验证的操作是创建还是更新?
如果是UPDATE,有没有办法找到validated字段的旧值?我不知道Spring Boot,但我可以肯定的说,在Hibernate验证程序边界内,您将无法做到这一点 Hibernate验证器只看到bean的当前状态,完全不知道它的生命周期