【问题标题】:JSR Validation @Pattern allowing null valuesJSR Validation @Pattern 允许空值
【发布时间】:2020-10-07 06:48:02
【问题描述】:
当我使用 @Pattern 注释字段时
@Pattern(regexp="someRegexp")
public String name;
如果 JSON 包含此字段,其值为 null,那么我预计此正则表达式会失败并因此无效。
如果 JSON 不包含该字段,则验证通过即可。
如何做到这一点?
【问题讨论】:
标签:
java
spring-boot
bean-validation
hibernate-validator
jackson-databind
【解决方案1】:
对于字符串,我通常使用@NotBlank 来表示非空字符串,但我不确定 100% 它不允许空条目,但在这种情况下,使用 @NotNull 注释。
编辑:我正在寻找一个示例,我从一个旧项目中得到了这个:
@NotNull
@NotBlank
@Pattern(regexp = "somePattern")
public String getEmail() {
return this.email;
}
如您所见,我使用 NotNull 和 NotBlank,即使我有一个模式。