我需要对String字段的输入进行设置验证.此字段应为空或5到10个字符.但是,如果我这样设置验证:
@Size(min=5, max=10)
private String couponCode;
值为空时,不会通过@Valid.我该如何实现?
解决方法:
您可以设置模式以接受空白值或5到10个字符:
@Pattern(regexp = "|.{5,10}")
private String couponCode;
在此,如果匹配了空字符串或.{5,10}模式,则使用| |来告诉验证器认为传递的值有效.
如果您将空白值视为空字符串,请使用以下模式:
@Pattern(regexp = "\\s*|.{5,10}")
private String couponCode;