JSR303注释@pattern不起作用

时间:2013-09-30 13:40:55

标签: java regex

我在字段上使用JSR303注释@Pattern来检查仅包含空格的String。 如果只找到空格,则抛出一条消息,但@Pattern无法正常工作

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

我正在使用上面的@length工作正常。 请建议

2 个答案:

答案 0 :(得分:1)

有两种可能性:

  • 要么你误解了“^”字符的功能,当它括在括号中时会执行“not”,但是当你编写它时,它表示字符串的开头。

  • 或者你误解了Pattern注释的功能。它将验证字符串是否与给定模式匹配,如果不匹配,则使用错误消息。

无论哪种方式,目前你都说这个字符串应该只包含空格。

答案 1 :(得分:0)

来回留出空间:([^^ $] | ^ \ s * \ S + \ s * $)

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

疑难解答点:[^ WOW ] - 拒绝" WOW"