1

我有以下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 的兼容性,我不想使用自定义验证器。正则表达式是一个不错的选择吗?谢谢

4

2 回答 2

2

我使用@Pattern带有简单正则表达式的注释修复了它:

@Pattern(regexp = "^.{6,6}$|^$", message = "Field must be 6 digits or empty")
private String field;
于 2016-03-15T11:48:05.080 回答
2

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

于 2016-03-15T11:37:37.107 回答