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

jlp*_*jlp 6 java validation max min

我已经验证了以下字段,

@Min(1)
@Max(500)
private int length;
Run Code Online (Sandbox Code Playgroud)

但是,长度不是必填字段,但是当我没有在输入中提供“长度”时,出现以下错误:

   "Validation error, message = must be greater than or equal to 1, path = length"
Run Code Online (Sandbox Code Playgroud)

查看@min 和@max 文档,它说“空元素被认为是有效的”。我知道。如果@min @max 仅用于原始类型,那么为什么文档提到“null”元素被认为是有效的?有人可以让我知道如何解决验证问题吗?非常感谢。

Thi*_*sel 7

对于可选的整数值,您可以使用Integer代替int,因为int变量不能为空并且默认值为 0。随着Integer,长度将为空默认,你应该能够通过验证。