我正在使用弹簧,因此javax.validation
,这就是这个问题的背景。
假设我想验证一个列表的元素只包含 4 位数字。
我想编码:
@Min(1000)
@Max(9999)
List<Integer> numbers;
@Min
但是验证会爆炸并抱怨它@Max
不能用于验证List
. 好的,有道理。
我可以@Valid
在自定义对象列表中使用,例如:
@Valid // validate each element
List<My4DigitNumberClass> numbers;
@MyCustom4DigitValidation
class My4DigitNumberClass {
Integer number;
}
但我只想使用Integer
(以及最终其他盒装原语、字符串等),例如:
@ValidateElements({ @Min(1000), @Max(9999) })
List<Integer> numbers;
我可以在不创建任何自定义类或自定义验证注释的情况下执行此操作吗?