Java Bean 验证:如何指定相同类型但具有不同组的多个验证约束?

Java Bean Validation: How do I specify multiple validation constraints of the same type but with different groups?

我有多个进程,其中 bean 属性必须具有不同的值。示例:

@Min( value=0, groups=ProcessA.class )
@Min( value=20, groups=ProcessB.class )
private int temperature;

不幸的是bean验证JSR 303没有设置@Repeatable 在 javax.validation.constraints.Min 上,所以这种方法不起作用。 我找到了 "Min.List" 但没有任何关于如何使用它的文档。相反,官方 Oracle 文档在 http://docs.oracle.com/javaee/7/api/javax/validation/constraints/class-use/Min.List.html

没有使用 javax.validation.constraints.Min.List

所以目前这看起来像是规范错误?!?

Min.List 的语法,对于任何其他将注释数组作为其属性之一的注释,是

@Min.List({ @Min(value = 0, groups = ProcessA.class),
            @Min(value = 20, groups = ProcessB.class) })