java - JSR 验证 @Pattern 允许空值

标签 java spring-boot bean-validation hibernate-validator jackson-databind

当我用@Pattern 注释一个字段时

@Pattern(regexp="someRegexp")
public String name;

如果 JSON 包含此字段,值为 null,那么我希望此正则表达式失败并因此无效。

如果JSON不包含该字段,则验证通过即可。

如何实现?

最佳答案

对于字符串,我通常将@NotBlank 用于非空字符串,但我不能 100% 确定它不允许空条目,但在这种情况下,使用 @NotNull 注释。

编辑:我正在寻找一个例子,我从一个旧项目中得到了这个:

@NotNull
@NotBlank
@Pattern(regexp = "somePattern")
public String getEmail() {
    return this.email;
}

如您所见,我使用了 NotNull 和 NotBlank,即使我在那里有一个模式。

关于java - JSR 验证 @Pattern 允许空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64238648/

相关文章:

java - JOGL 中的文本困难

java - Spring 验证 - NULL 或有效的 url

jsf - 使用 JSF bean 验证在一个字段上使用多个验证器

java - 单元测试中的 Spring Boot 数据源

java - 我们可以在 spring boot 应用程序中随机执行另一个主要功能的单独进程吗?

spring - 如何在spring boot 2 webclient调用中添加resilience4j retry?

java - @Valid 注释 - 此位置不允许使用此注释

java - 我的简单 antlr 语法有什么问题?

java - JButton 出现在一台计算机上,但不在其他计算机上(BorderLayout)

Java - 我应该在哪里放置我的域对象逻辑?