java - JSR 303 - 定义的大小或 null

标签 java validation annotations valdr valdr-bean-validation

我有以下带有 JSR-303 验证的字段:

@Size(min = 6, max = 6, message = "Field needs to be 6 characters")
private String field;

该字段的要求是6 个字符或为空

(然后我使用 valdr-bean-validation(https://github.com/netceteragroup/valdr-bean-validation)将其提取为 valdr 格式并在 AngularJS 中使用。)

问题: 如何使用 JSR-303 满足要求,以便该字段可以是 null 或 6 个字符?目前,我的 @Size 规则需要至少 6 个字符。

我不想使用自定义 validator ,因为它与 valdr 兼容。正则表达式是好的选择吗?谢谢

最佳答案

我使用带有简单 RegEx 的 @Pattern 注释修复了它:

@Pattern(regexp = "^.{6,6}$|^$", message = "Field must be 6 digits or empty")
private String field;

关于java - JSR 303 - 定义的大小或 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36009584/

相关文章:

java - jvm堆设置模式

javascript - 在 JavaScript 中传递给多个条件的值

c++ - 如何验证 QlineEdit 以允许仅写入字符串或仅允许写入数字

annotations - 带有 cli 的 Doctic2 自动加载程序必须使用 AnnotationRegistry

java - Stata有没有类似于Java的 `try and catch`机制?

java - 将所有依赖项打包到 WEB-INF 中的 Jersey 1.19.4 应用程序在 Tomcat 8.5 上为 jersey-server 抛出 FileNotFoundException

java - Twitter4j-异步Twitter : Associate the response in the TwitterListener with the initiating request

Java-setter 中值的验证

java - 带有注释的奇怪 Java 错误

java - 带参数的 Spring FactoryBean 方法