2012-01-25 2 views
3

У меня есть валидатор 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; 

Сначала один не компилирует и второй один занимает всю строку в качестве допустимого значения (что очевидно).

Любые идеи, как указать здесь несколько значений?

+0

Я не могу найти '@ AllowedValues', где он в? – zhuguowei

ответ

6

Поскольку это String[], вам нужно использовать массив синтаксис инициализации для нескольких значений:

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

удивительные работы, как очарование! должен был подумать об этом! – cheekoo

Смежные вопросы