编程语言
首页 > 编程语言> > java – 为允许多个值的hibernate验证器提供值

java – 为允许多个值的hibernate验证器提供值

作者:互联网

我有一个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;

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

任何想法如何在这里指定多个值?

解决方法:

因为它是String [],所以需要对多个值使用数组初始化器语法:

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

标签:hibernate-validator,java
来源: https://codeday.me/bug/20190826/1731267.html