我有JSR-303
验证的以下字段:
@Size(min = 6, max = 6, message = "Field needs to be 6 characters")
private String field;
该字段的要求是6 characters or null
。
(然后我使用valdr-bean-validation
(https://github.com/netceteragroup/valdr-bean-validation)将其提取为valdr格式并在AngularJS中使用。)
问题:
如何使用JSR-303满足要求,以便字段可以null or 6 characters
?目前我的@Size
规则至少需要6个字符。
由于与valdr的兼容性,我不想使用自定义验证器。正则表达式是不错的选择?感谢
答案 0 :(得分:2)
是的,您应该在此字段上使用@Pattern注释(或使用Size,Pattern和任何其他规则组合创建您自己的注释)
答案 1 :(得分:2)
我使用@Pattern
注释用简单的RegEx修复它:
@Pattern(regexp = "^.{6,6}$|^$", message = "Field must be 6 digits or empty")
private String field;