如何对字符串大小设置验证 = 0 或 min=5,max=10?
How set validation on size of string = 0 or min=5, max=10?
我需要对字符串字段的输入设置验证。此字段应为空或介于 5
到 10
个字符之间。但是如果我这样设置验证:
@Size(min=5, max=10)
private String couponCode;
当值为空时不会通过@Valid
。我怎样才能做到这一点?
您可以将模式设置为接受空白值或 5
到 10
个字符:
@Pattern(regexp = "|.{5,10}")
private String couponCode;
这里我们使用 Alternation,|
,告诉验证器认为传递的值有效,如果是空字符串或 .{5,10}
模式匹配。
如果您将空白值视为空字符串,请使用以下模式:
@Pattern(regexp = "\s*|.{5,10}")
private String couponCode;
我需要对字符串字段的输入设置验证。此字段应为空或介于 5
到 10
个字符之间。但是如果我这样设置验证:
@Size(min=5, max=10)
private String couponCode;
当值为空时不会通过@Valid
。我怎样才能做到这一点?
您可以将模式设置为接受空白值或 5
到 10
个字符:
@Pattern(regexp = "|.{5,10}")
private String couponCode;
这里我们使用 Alternation,|
,告诉验证器认为传递的值有效,如果是空字符串或 .{5,10}
模式匹配。
如果您将空白值视为空字符串,请使用以下模式:
@Pattern(regexp = "\s*|.{5,10}")
private String couponCode;