2013-10-09 167 views
2

我用JSR303 Spring Validation和我有以下幾點;驗證只有當字段不爲空

@Digits(fraction = 0, integer = 15) 
private String tpMobile; 

確認說Must be number between 10-15 digits,但事情是這個領域是可選。因此,當用戶將其留空時,也會顯示相同的錯誤消息。

所以我想要做的是,如果該字段不爲空,只確認。 如果該字段爲空跳過驗證該場

回答

1

的價值,我想建議你使用@Pattern(message="YOUR_MESSAGE", regexp="REGULAR_EXPRESSION")

主要的原因是,我們顯示消息對這種組值,我們要限制用戶,在這裏在您的條件中,顯示的是您不想限制的值。

所以你要限制用戶輸入什麼比空格其他與numbers.Make正則表達式爲和使用@Pattern這一點。

對於您的情況:

@Pattern(message="YOUR_MESSAGE", regexp="^(\\s*|\\d{10,15})$") 
+0

I founf「/ ^(\ s * | \ d +)$ /」 但不工作 – Ravindu

1

顯然,你提交表單空字符串,而不是空值。只是檢查而不是使用@DigittpMobile

+0

葉,其發出空字符串值時,從螢火蟲檢查。 – Ravindu

+0

那麼我可以發送空值,然後? – Ravindu

+0

啊,就'NULL'而不是「」 –