当我用@Pattern注解字段时
@Pattern(regexp="someRegexp") public String name;
如果JSON包含这个字段,并且值为null,那么我预计这个正则表达式会失败,因此是无效的。如果JSON不包含此字段,则验证通过即可。如何做到这一点?
7tofc5zh1#
我知道这是一个3岁的问题,但是为了那些像我一样偶然发现这个问题的人,我能想到的唯一选择是,将@ Nothing与@Pattern结合使用。使用模式来处理空字符串。
bgibtngc2#
对于字符串,我通常使用@NotBlank表示非空字符串,但我不能100%确定它不允许空条目,但在这种情况下,使用@ NotBlank注解。编辑:我正在寻找一个例子,我从一个老项目中得到了这个:
@NotNull @NotBlank @Pattern(regexp = "somePattern") public String getEmail() { return this.email; }
正如你所看到的,我使用Notlings和NotBlank,尽管我在那里有一个模式。
2条答案
按热度按时间7tofc5zh1#
我知道这是一个3岁的问题,但是为了那些像我一样偶然发现这个问题的人,我能想到的唯一选择是,将@ Nothing与@Pattern结合使用。使用模式来处理空字符串。
bgibtngc2#
对于字符串,我通常使用@NotBlank表示非空字符串,但我不能100%确定它不允许空条目,但在这种情况下,使用@ NotBlank注解。
编辑:我正在寻找一个例子,我从一个老项目中得到了这个:
正如你所看到的,我使用Notlings和NotBlank,尽管我在那里有一个模式。