我有JSR-303 bean验证工作,但我永远无法显示默认消息。
我创建了一个自定义验证程序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
为什么默认消息永远不会显示?我不想为我使用此验证的每个字段指定消息。
答案 0 :(得分:2)
ValidationMessages资源包通常是属性文件, ValidationMessages.properties,在默认包中 应用