为允许多个值的休眠验证器提供值

时间:2012-01-25 17:14:36

标签: java hibernate-validator

我有一个Hibernate验证器,它根据给定的字符串列表验证字段。我会把代码放在更清晰的位置。

    @Target({ METHOD, FIELD, ANNOTATION_TYPE })
    @Retention(RUNTIME)
    @Constraint(validatedBy = AllowedValuesValidator.class)
    @Documented
    public @interface AllowedValues {
      ...
      String[] value();
    }

以前我们用它作为

  @AllowedValues("value1")
  private String method;

现在我们需要将它用于一系列值,方法可以有多个值。我试过了两个:

  @AllowedValues("Standard", "One-Day", "Two-Day", "Three-Day")
  private String method;     

  @AllowedValues("Standard, One-Day, Two-Day, Three-Day")
  private String method;

第一个不编译,第二个将整个字符串作为允许值(很明显)。

如何在这里指定多个值?

1 个答案:

答案 0 :(得分:6)

由于它是String[],您需要对多个值使用数组初始值设定语法:

@AllowedValues({"Standard", "One-Day", "Two-Day", "Three-Day"})