2013-09-30 564 views
0

在字段上使用JSR303註解@Pattern來檢查僅包含空白的字符串。 如果空格只找到則拋出一個消息然而使用@Length如上其工作正常的@Pattern不工作JSR303註解@pattern不起作用

@Length(max = AlertConstants.LENGTH_FOR_TWITTER_TEXTS, message = "{twitter.message.max}") 
@Pattern(regexp ="^\\s*$", message = "{message.twitter.content.not.empty}") 
private String twitterChannelContent = ""; 

IM。 請建議

+0

這取決於上下文,是誰做驗證?你在使用休眠或其他庫嗎?如果沒有實際的驗證處理程序,這些註釋什麼也不做。 – nablex

+0

使用hibernate驗證器 – ronan

回答

1

有兩種可能性:

  • 要麼你誤會了「^」字符的功能,它執行了「不」用括號括起來的時候,但是當你寫它,它表示字符串的開始。

  • 或者你誤解了Pattern註解的功能。它將驗證該字符串是否匹配給定的模式,如果不匹配,則使用錯誤消息。

無論哪種方式,目前你說的字符串應該只包含空格。

0

允許的空間來回:([^^ $] |^\ S * \ S + \ S * $)

不能有空格:([^^ $] |^\ S + $)

故障點:[^ WOW] - 拒絕 「WOW」