是否可以根据一个或多个委托验证规则验证集合的每个元素?例如:
@EachElement({@Min(1), @Max(12)})
private Set<Integer> monthNumbers;
答案 0 :(得分:3)
看一下validator-collection,这个库很容易在一组简单类型上使用任何Constraint Annotation。
@EachMin(1)
@EachMax(12)
private Set<Integer> monthNumbers;
答案 1 :(得分:0)
看一下这个答案:Hibernate Validation of Collections of Primitives。这描述了一个适合您的解决方案,但它非常复杂。一个更简单的解决方案可能是为Integer
实现一个包装类,并在该类中声明@Min
和@Max
。比你可以使用
@Valid
private Set<MyIntegerWrapper> monthNumbers;
类MyIntegerWrapper:
class MyIntegerWrapper
{
@Min(1)
@Max(12)
Integer myInteger;
}
您可以在此处找到@Valid
的一些文档:Object graphs