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

时间:2015-04-07 21:54:57

标签: java validation bean-validation

我有多个进程,其中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

所以现在这看起来像规格错误了?!?

1 个答案:

答案 0 :(得分:9)

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

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