Spring验证器默认消息代码无法解析

时间:2010-05-12 01:43:00

标签: validation spring resources message

我有一个自定义弹簧验证器,其中包含以下默认消息:

public @interface FieldMatch {
    String message() default "au.com.xxx.website.FieldMatchValidation";
...

我遇到的问题是邮件代码没有被解析,而且< form:error ...>只是显示代码而不是消息(它位于ResourceBundleMessageSource正在使用的属性文件中)。

我也试过这个

    String message() default "{au.com.xxx.website.FieldMatchValidation}";

导致消息源崩溃,异常表明它认为“{}”括号应包含数字,因为它认为它是参数占位符。

我认为问题是消息代码不被视为消息代码,因此无法解决,但我无法弄清楚原因。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

好的,想通了。它接口这些都是由hibernate验证器处理的,并且它们被硬编码以查找名为ValidationMessages.properties的资源文件。一旦我添加了它并将消息放入其中,一切都开始工作了。