2017-09-29 417 views
-1

我已经把验证了以下字段,的Java验证@Min为空@Max annotion值

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

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

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

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

+1

而_when_你是否期望'length'为'null'? – Tom

+0

我没想到它是空的。当我不提供长度时,我只是不知道如何通过验证。我认为“”null元素被认为是有效的“意味着”未提供“的场景 – jlp

+0

int'不能是null,它是一种基本类型,如果你希望它是可空的,你必须做到这一点一个'Integer'。 –

回答

1

对于可选的整数值,您可以使用Integer而不是int,因为int变量不能为空,并且将具有0作为默认值。 对于Integer,默认长度为空,您应该能够通过验证。