我在spring boot应用程序中使用了hibernate验证器。 我想创建一个注释,它将验证字段的可更新性。像@Updatable(WHILE_NEW)之类的东西。 我根据hibernate文档创建了自定义hibernate验证器。
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,有没有办法找出验证字段的旧值?
答案 0 :(得分:1)
不了解Spring Boot,但我可以肯定地说,你无法在Hibernate Validator边界内做到这一点。
Hibernate Validator只看到bean的当前状态,并且完全不知道它的生命周期。