有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    使用以下语法注释类型

    List<@Min(1000) @Max(9999) Integer> numbers;