Java 模式不能给出正确的结果

Java 模式不能给出正确的结果,java,gwt,pattern-matching,bean-validation,Java,Gwt,Pattern Matching,Bean Validation,我的问题是我想使用bean验证,所以我在我的雇员bean上做了: @Pattern( regexp = "\.+",message="Name is not null") @Size(max=10,message = "Name is verylong") private String name; 我想用pattern检查字符串是否为null。问题是,当提交表单时,如果字段长度>10,它会给我错误信息。但是如果它是空的,它不会告诉我错误。任何人都可以帮助我吗?如果要验证

我的问题是我想使用bean验证,所以我在我的雇员bean上做了:

   @Pattern( regexp = "\.+",message="Name is not null") @Size(max=10,message = "Name is verylong") 
        private String name;

我想用pattern检查字符串是否为null。问题是,当提交表单时,如果字段长度>10,它会给我错误信息。但是如果它是空的,它不会告诉我错误。任何人都可以帮助我吗?

如果要验证字段不能为null,还需要注释javax.validation.constraints.NotNull:

考虑一下,如果您的字段被允许为null,这将如何工作,但如果不为null,它必须匹配特定的模式-您需要有某种方法来生成一个显式匹配null值和大小的regexp,其他注释也需要这样做

相反,不需要通过内置验证注释检查空值-您的模式会询问字符串是否为空,即至少包含一个字符,而不是空值-您可能只需要使用大小的最小值即可

        @Pattern( regexp = "\.+",message="Name is not null") 
        @Size(max=10,message = "Name is verylong") 
        @NotNull
        private String name;