Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSR303注释@模式不起作用_Java_Regex - Fatal编程技术网

Java 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

我在字段上使用JSR303注释@模式来检查只包含空格的字符串。 如果只找到空白,则抛出一条消息,但@模式不起作用

@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验证程序