目前接口中有这样的一个参数
package org.ehl.data.metadata.business.interfaces.model;
import lombok.Data;
import javax.validation.Valid;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
@Valid
@Data
public class InterfaceParams {
private String id;
/**
*
* 通过这种形式进行了校验
*/
@Pattern(regexp="^$|[a-zA-Z0-9_.,\\-()/=+?!*;@#:%\\[\\]‘\\\\${}^|~\\n\\r\\t ]{1,32}",
message = "参数名称不允许出现中文,且长度在1-32之间")
private String paramName;
/**
* 参数描述
*/
@Size(min = 0,max = 250,message = "参数描述长度不能超过250")
private String paramDesc;
private String paramSite;
}
但是当他是一个空字符串的时候显示校验没有通过
这时需要让它允许为空,改成了如下代码,在表达式前面加了 ^$|
/**
*
* 参数名称
*/
@Pattern(regexp="^$|[a-zA-Z0-9_.,\\-()/=+?!*;@#:%\\[\\]‘\\\\${}^|~\\n\\r\\t ]{1,32}",message = "参数名称不允许出现中文,且长度在1-32之间")
private String paramName;