Java 播放框架:如何验证空文本框

Java 播放框架:如何验证空文本框,java,playframework-2.0,Java,Playframework 2.0,我正在使用Play Framework 2 for Java,我试图验证表单中的文本框,因此我使用了@Required,如果我们没有在文本框中输入任何内容,它可以正常工作,但当我们在文本框上键入空格时,它会失败。简而言之,我们可以说它没有修剪文本框的值。我也尝试了@NotNull,但它也不再工作了。请帮助解决此问题。引入一个额外的验证注释,用于检查输入是否与非空白正则表达式匹配: @Required @Pattern("[\\S]+") public String name; \s是一个与空

我正在使用Play Framework 2 for Java,我试图验证表单中的文本框,因此我使用了
@Required
,如果我们没有在文本框中输入任何内容,它可以正常工作,但当我们在文本框上键入
空格时,它会失败。简而言之,我们可以说它没有修剪文本框的值。我也尝试了
@NotNull
,但它也不再工作了。请帮助解决此问题。

引入一个额外的验证注释,用于检查输入是否与非空白正则表达式匹配:

@Required
@Pattern("[\\S]+")
public String name;
  • \s
    是一个与空白字符匹配的速记字符类
  • \S
    是与非空白字符相匹配的该字符的否定版本
  • +
    表示至少需要一个非空白字符进行匹配
  • 最后,反斜杠需要在Java语法中转义

如果您只想防止用户在文本字段中只输入空格,可以使用:

    @Constraints.Required
    @Formats.NonEmpty
    public String name;

如果单词之间有空格,则接受的解决方案将不会生效。如果这是您想要的,那么就没问题。

它始终显示
约束。模式
,如果我在文本框中键入任何值,此时它显示验证错误。哎呀,我的正则表达式中漏掉了一个
+
运算符。让这个开始工作@avik,谢谢你的解决方案+1.详细信息。但是它将验证错误文本显示为
constraint.pattern
,您能告诉我如何更改验证消息吗?假设您使用的是自己的
消息
文件,您可以(1)将
constraint.pattern
键添加到消息文件中,或者(2)将
@Pattern
注释上的
message
属性设置为自定义键,然后必须将其放入消息文件中。