我想使用类级别的注释约束。但是我无法让内部约束自动验证。我想帮助一部分,将验证组纳入这项技术。
@ConstraintA({
@ConstraintB(stuff),
@ConstraintB(stuff, groups=SomeGroup.class)
})
public class Form{
}
我目前像这样触发约束。
if(constraint instanceof ConstraintB){
new ConstraintBValidator().isValid(target, context);
}
然而,这显然很糟糕。我最终将通过调用 AnnotationInvocationHandler.invoke() 方法来重构以触发 isValid 方法,但我离那还有一点点。
我的问题是所有 ConstraintB 实例都传递到我的 ConstraintA 中。我希望只将具有适当组的那些传递给 ConstraintA。我怀疑这种能力是否存在,那么我如何确定哪些组需要触发,哪些不需要?
我在调试中没有看到任何指定应该触发哪些组的对象?
有任何想法吗?