java如何对集合类型的元素应用验证
我用的是spring,所以这就是这个问题的背景
假设我想验证列表中的元素只包含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;
我可以在不创建任何自定义类或自定义验证注释的情况下执行此操作吗
# 1 楼答案
使用以下语法注释类型: