2013-07-03 111 views
2

我正在嘗試爲JBOSS Seam項目創建一個字符長度限制爲12的字符串。該字符串必須是12個字符或空白。我的長度標註是正確的是以下幾點:使用Java註釋設置字符串的字符限制

@Length(min = 12,max = 12) 

然而,當我試圖把一個空值在那裏我得到一個InvalidStateException:驗證失敗的錯誤。任何想法如何讓這個?對於字符串和空字符串

+0

您是否嘗試過使用'@ Nullable'註解? –

+0

試過這沒有幫助。同樣的錯誤。 – Icebreaker

回答

0

好吧,我決定不依靠@Length註釋,而是創建了自己的自定義驗證類來完成這項工作,並制定出很好。不管怎麼說,還是要謝謝你!

1

Null值是不一樣的東西。您正在傳遞一個空值(不是長度爲0的字符串)。檢查了這一點:

Difference between null and empty ("") Java String

此外,你應該嘗試@Size(MIN =,最大=)。

+0

尺寸部分不是問題。它正確地只允許12個字符,而少於或多於任何東西都會產生警告。這是錯誤的空場景。 – Icebreaker

+0

需要弄清楚,我如何僅使用@Size應用Integer檢查? hibernate是否提供了允許maxLength和numbersOnly組合的任何此類註釋? –