我们正在使用带注释的spring,并且我们的带注释的字段得到了验证,并且ValidationMessages.properties显示了错误消息,但是对于自定义验证,似乎没有使用来自ValidationMessages.properties的消息。
以下是示例:
Validatior(也是表格):
public void validateSpecial(BindingResult result) {
if(password != null && !password.equals(passwordConfirm)){
result.rejectValue("passwordConfirm", "emailform.passwordConfirm.passwordsDontMatch", new Object[]{}, "This message is in the code.");
... }
ValidationMessages.properties:
...
emailform.passwordConfirm.passwordsDontMatch = Passwords don't match
...
控制器:
...
form.validateSpecial(result);
if (result.hasErrors()) {
return "/path/to/input/page";
}
...
我得到的错误是“此消息在代码中”,而不是“密码不匹配”
答案 0 :(得分:0)
这解决了这个问题,谢谢@Kartik
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>ValidationMessages</value>
<value>ApplicationResources</value>
</list>
</property>
</bean>