JSR 303 - 定义的大小或null

时间:2016-03-15 11:10:15

标签: java validation annotations valdr valdr-bean-validation

我有JSR-303验证的以下字段:

@Size(min = 6, max = 6, message = "Field needs to be 6 characters")
private String field;

该字段的要求是6 characters or null

然后我使用valdr-bean-validationhttps://github.com/netceteragroup/valdr-bean-validation)将其提取为valdr格式并在AngularJS中使用。

问题: 如何使用JSR-303满足要求,以便字段可以null or 6 characters?目前我的@Size规则至少需要6个字符。

由于与valdr的兼容性,我不想使用自定义验证器。正则表达式是不错的选择?感谢

2 个答案:

答案 0 :(得分:2)

是的,您应该在此字段上使用@Pattern注释(或使用Size,Pattern和任何其他规则组合创建您自己的注释)

答案 1 :(得分:2)

我使用@Pattern注释用简单的RegEx修复它:

@Pattern(regexp = "^.{6,6}$|^$", message = "Field must be 6 digits or empty")
private String field;