validation - 对可能为空或必须有 n 位的字符串的 JAX-RS 验证
问题描述
我正在使用Pattern
验证javax.validation.constratins
来验证一个字段。字符串:
- 可能是
null
或为空或 - 它必须正好有七位数字。
我设法验证了七位数,但我不知道如何另外验证该字段可能为空。
@Getter
@Setter
public class MyRestRequest {
@Pattern(regexp = "\\d{7}")
private String someString;
}
解决方案
因为 for Pattern null
被认为是有效的,所以问题归结为构造匹配空字符串或七位数的正则表达式。通常用于空字符串^$
(行首和行尾)。
在这种情况下,也^|\\d{7}
和$|\\d{7}
或什至|\\d{7}
会起作用,但^$|\\d{7}
更典型的是:
@Pattern(regexp = "^$|\\d{7}")
public String someString;
推荐阅读
- python - Python Statsmodels Mixedlm(随机斜率+截距)R2
- javascript - 如何使用排序函数在 Reactjs 中对日期进行排序
- tensorflow - 如何将 Tensorflow1 代码转换为 JAX 代码
- php - 基于用户类型的登录(学生和管理员)
- javascript - 为什么在 JavaScript 中不鼓励使用 dunder 原型?
- java - 如何使用来自 Mono 的数据丰富 Reactor 的上下文?
- c - ls: 无法访问 'PATH=./': 没有这样的文件或目录
- sql - 'in' 附近的语法不正确
- jenkins - Jenkins Job DSL - 流水线阶段
- javascript - 如何在 React js 中的特定表行索引上添加所需属性?