javax.validation 和组合注释

javax.validation and composed annoations

我有一组注释总是在一起,就像这样:

@Valid
@ValidPropertyA(kind = "Standard")
@ValidPropertyB(kind = "Standard")
@ValidPropertyC(kind = "Standard")
private SomeReusableType type;

@Valid
@ValidPropertyA(kind = "large")
@ValidPropertyB(kind = "large")
@ValidPropertyC(kind = "large")
private SomeReusableType type;

我想将这些注释组合成一个注释 @ValidReusableType,但我遇到的问题是如何将 kind 推入每个 @ValidProperty's属于 @ValidResuableType 类型吗?

@Valid
@ValidReusableType(kind = "standard")
private SomeReusableType type;

@Valid
@ValidReusableType(kind = "large")
private SomeReusableType type;

是否有任何方法可以设置组合注释,以便我的 ConstraintValidator 仍然可以访问他们正在验证的 kind

不,这不可能:每个约束都是完全独立的。

我们不会将组合注释中的任何上下文注入组合注释验证器。