Java JSR303注释@模式不起作用
我在字段上使用JSR303注释@模式来检查只包含空格的字符串。 如果只找到空白,则抛出一条消息,但@模式不起作用Java JSR303注释@模式不起作用,java,regex,Java,Regex,我在字段上使用JSR303注释@模式来检查只包含空格的字符串。 如果只找到空白,则抛出一条消息,但@模式不起作用 @Length(max = AlertConstants.LENGTH_FOR_TWITTER_TEXTS, message = "{twitter.message.max}") @Pattern(regexp ="^\\s*$", message = "{message.twitter.content.not.empty}") private String twitterChann
@Length(max = AlertConstants.LENGTH_FOR_TWITTER_TEXTS, message = "{twitter.message.max}")
@Pattern(regexp ="^\\s*$", message = "{message.twitter.content.not.empty}")
private String twitterChannelContent = "";
我使用上面的@length,这很好。
请建议有两种可能性:
- 如果您误解了“^”字符的功能,则在括在括号中时,它将执行“not”,但在编写时,它指示字符串的开头
- 或者您不了解模式注释的功能。它将验证字符串是否与给定的模式匹配,如果不匹配,则使用错误消息
不管是哪种方式,当前您都是说字符串应该只包含空格。允许来回空格:([^^^$]|^\s*\s+\s*$) 没有空格:([^^^$]|^\S+$)
疑难解答点:[^WOW]-拒绝“WOW”这取决于上下文,谁在进行验证?您使用的是hibernate还是其他库?如果没有实际的验证处理程序,这些注释将什么都不做。使用hibernate验证程序