Validation JAX-RS验证字符串,该字符串可能为空或必须有n个数字
我使用Validation JAX-RS验证字符串,该字符串可能为空或必须有n个数字,validation,jax-rs,bean-validation,Validation,Jax Rs,Bean Validation,我使用javax.validation.constratins中的模式验证来验证字段。字符串: 可以是null或空或空 它必须正好有七个数字 我设法验证了七位数字,但我不知道如何另外验证此字段是否为空 @Getter @Setter public class MyRestRequest { @Pattern(regexp = "\\d{7}") private String someString; } 因为fornull被认为是有效的,所以问题归结为构造与空字符串或七位数匹配的
javax.validation.constratins中的模式
验证来验证字段。字符串:
- 可以是
null
或空或空
- 它必须正好有七个数字
我设法验证了七位数字,但我不知道如何另外验证此字段是否为空
@Getter
@Setter
public class MyRestRequest {
@Pattern(regexp = "\\d{7}")
private String someString;
}
因为fornull
被认为是有效的,所以问题归结为构造与空字符串或七位数匹配的正则表达式。对于空字符串,通常使用^$
(行首和行尾)
在这种情况下,^\\\d{7}
和$\\\d{7}
甚至\\\d{7}
也可以工作,但^$\\\d{7}
更为典型:
@Pattern(regexp = "^$|\\d{7}")
public String someString;