2015-11-03 61 views
0

我有JSR-303的bean驗證工作,但我永遠無法獲得要顯示的默認消息。JSR-303從不顯示默認消息

我已經創建了一個自定義的驗證,DateRangeValidator,即檢查兩個日期,以確保日期爲日期之前。它工作正常。

我的註釋是這樣的:

@Target(ElementType.FIELD) 
@Retention(RetentionPolicy.RUNTIME) 
@Constraint(validatedBy = DateRangeValidator.class) 
public @interface ValidDateRange { 
    String message() default "{ValidDateRange.message}"; 
    Class<?>[] groups() default {}; 
    Class<? extends Payload>[] payload() default {}; 
} 

messages.properties我有以下幾點:

ValidDateRange.message=From date must be before to date.

但每當驗證失敗,所有我在網頁上看到的是:

{ValidDateRange.message}

我在這裏錯過了什麼?我的默認消息在哪裏?

我可以要顯示的信息的唯一方法是添加以下爲messages.properties(不包括大括號):

ValidDateRange.{myFormName}.{myRangeField}=blah blah blah 

爲什麼從不顯示默認的消息?我不想爲每個使用此驗證的字段指定一條消息。

回答

2

的ValidationMessages資源束通常是屬性文件, ValidationMessages.properties,在一個 應用程序的默認包。

+0

當您將某些內容放入src/main/resources中時,它將最終位於您檔案的根目錄。這是默認包。 – Franck