JSR-303 从不显示默认消息
JSR-303 Default message is never displayed
我有 JSR-303 bean 验证工作,但我永远无法显示默认消息。
我创建了一个自定义验证器 DateRangeValidator
,它检查两个日期以确保 from 日期在 to[=38= 之前] 日期。它工作正常。
我的注释如下所示:
@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
为什么从不显示默认消息?我不想为使用此验证的每个字段都指定一条消息。
The ValidationMessages resource bundle is typically a properties file,
ValidationMessages.properties, in the default package of an
application.
我有 JSR-303 bean 验证工作,但我永远无法显示默认消息。
我创建了一个自定义验证器 DateRangeValidator
,它检查两个日期以确保 from 日期在 to[=38= 之前] 日期。它工作正常。
我的注释如下所示:
@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
为什么从不显示默认消息?我不想为使用此验证的每个字段都指定一条消息。
The ValidationMessages resource bundle is typically a properties file, ValidationMessages.properties, in the default package of an application.