We're using spring with annotations, and our annotated fields get validated fine and error messages get displayed from ValidationMessages.properties, but for custom validation message from ValidationMessages.properties does not seem to be used.
Here's the example:
Validatior (also the form):
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
...
Controller:
...
form.validateSpecial(result);
if (result.hasErrors()) {
return "/path/to/input/page";
}
...
The error that I开发者_如何学运维 get is "This message is in the code", not "Passwords don't match"
This solved the problem, thanks @Kartik
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>ValidationMessages</value>
<value>ApplicationResources</value>
</list>
</property>
</bean>
精彩评论