如何对集合类型的元素应用验证
How to apply validation to elements of a collection type
我正在使用 spring,因此 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;
我可以在不创建任何自定义 类 或自定义验证注释的情况下执行此操作吗?
注释类型,使用此语法:
List<@Min(1000) @Max(9999) Integer> numbers;
我正在使用 spring,因此 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;
我可以在不创建任何自定义 类 或自定义验证注释的情况下执行此操作吗?
注释类型,使用此语法:
List<@Min(1000) @Max(9999) Integer> numbers;