2
我需要設置字符串字段的輸入驗證。該字段應該是空的或在5
到10
之間。但是,如果我設置這樣的驗證:如何設置驗證字符串的大小= 0或最小= 5,最大= 10?
@Size(min=5, max=10)
private String couponCode;
當值爲空時它不會通過@Valid
。我怎樣才能做到這一點?
我需要設置字符串字段的輸入驗證。該字段應該是空的或在5
到10
之間。但是,如果我設置這樣的驗證:如何設置驗證字符串的大小= 0或最小= 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;