Java 验证空值的@min @max 注释

Java validation @min @max annotion for null values

我已对以下字段进行验证,

@Min(1)
@Max(500)
private int length;

然而,长度不是必填字段,但是当我没有在输入中给出 "length" 时,我得到了这个错误:

   "Validation error, message = must be greater than or equal to 1, path = length"

查看@min 和@max 文档,上面写着"null element is considered valid"。我知道。如果@min @max 仅适用于原始类型,那么为什么文档中提到 "null" 元素被认为是有效的?有人可以让我知道如何解决验证问题吗?非常感谢。

对于可选的整数值,您可以使用 Integer 而不是 int,因为 int 变量不能为 null,默认值为 0。 使用 Integer,length 将默认为 null,您应该可以通过验证。