2015-11-03 64 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