我想在一个属性上多次使用一个hiberante验证器注释。
e.g:
@Length(min = 10, max = 10, groups = {Lenght10Group.class})
@Length(min = 5, max = 5, groups = {Lenght5Group.class})
private String productCode;
我找到了以下帖子Multiple annotations of the same type on one element?,并尝试将其应用到我的应用程序中。
我创建了Lengths.java文件:
public @interface Lenghts {
Lenght[] value();
}
并按以下方式应用:
@Lenghts( {@Length(min = 10, max = 10, groups = {Lenght10Group.class}),
@Length(min = 5, max = 5, groups = {Lenght5Group.class}) })
private String productCode;
但它似乎不起作用。
我错过了什么?是否需要自定义验证器,自定义处理程序?任何人都可以帮我这个吗?我会很感激。
答案 0 :(得分:2)
您应该使用Hibernate Validator提供的@Length.List开箱即用。所有内置约束(由BV规范定义和Hibernate Validator的其他自定义约束)都定义了这样的@List注释。