0

我想在一个属性上多次使用一个 hiberante 验证器注释。

例如:

@Length(min = 10, max = 10, groups = {Lenght10Group.class})
@Length(min = 5, max = 5, groups = {Lenght5Group.class})
private String productCode;

在一个元素上找到了以下线程多个相同类型的注释?并尝试将其应用于我的应用程序。

我创建了 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;

但它似乎不起作用。

我错过了什么?是否需要自定义验证器,自定义处理程序?谁能帮我解决这个问题?我会很感激。

4

1 回答 1

2

您应该使用Hibernate Validator 提供的开箱即用的@Length.List 。所有内置约束(由 BV 规范定义和由 Hibernate Validator 定义的附加自定义约束)都定义了这样的 @List 注释。

于 2012-07-23T18:28:03.353 回答