我有一个vibernate验证器,用于针对给定的字符串列表验证字段。我将提出更好的清晰度。

    @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;
.

首先,不编译,第二个将整个字符串作为允许的值(显而易见)。

如何在此处指定多个值的任何想法?

有帮助吗?

解决方案

Since it's a String[], you need to use array initializer syntax for multiple values:

@AllowedValues({"Standard", "One-Day", "Two-Day", "Three-Day"}) 
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top