2012-01-25 46 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