【发布时间】:2012-02-17 21:56:33
【问题描述】:
我想使用类级别的注释约束。但是我无法让内部约束自动验证。我想提供一个帮助,将验证组整合到这项技术中。
@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。我怀疑这种能力是否存在,那么如何确定哪些组需要触发,哪些不需要?
我在调试中没有看到任何指定应该触发哪些组的对象?
有什么想法吗?
【问题讨论】:
标签: annotations nested constraints invocationhandler