我有一个自定义弹簧验证器,其中包含以下默认消息:
public @interface FieldMatch {
String message() default "au.com.xxx.website.FieldMatchValidation";
...
我遇到的问题是邮件代码没有被解析,而且< form:error ...>只是显示代码而不是消息(它位于ResourceBundleMessageSource正在使用的属性文件中)。
我也试过这个
String message() default "{au.com.xxx.website.FieldMatchValidation}";
导致消息源崩溃,异常表明它认为“{}”括号应包含数字,因为它认为它是参数占位符。
我认为问题是消息代码不被视为消息代码,因此无法解决,但我无法弄清楚原因。
有什么建议吗?
答案 0 :(得分:2)
好的,想通了。它接口这些都是由hibernate验证器处理的,并且它们被硬编码以查找名为ValidationMessages.properties的资源文件。一旦我添加了它并将消息放入其中,一切都开始工作了。