模式无法给出正确的结果

问题描述 投票:0回答:1

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

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

我想用模式检查字符串是否为空。问题在于,如果字段长度> 10,则提交表单时会出现错误。但是,如果它为null,则不会给我五个错误。有人可以帮助我吗?

java gwt pattern-matching bean-validation
1个回答
1
投票

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

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

考虑如果您的字段被允许为null,但如果不为null,则它必须匹配特定的模式,这将如何工作-您需要采用某种方式来使regexp显式匹配null值(以及Size和其他注释也需要这样做)。

相反,不将空值视为需要由内置的验证批注进行检查-您的模式正在询问字符串是否为(即“包含至少一个字符”),而不是空-您可能会是否只想使用Size的min值?

© www.soinside.com 2019 - 2024. All rights reserved.