2017-09-29 86 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,默認長度爲空,您應該能夠通過驗證。