BindingResult.rejectValue未从ValidationMessages.properties中找到值

时间:2010-05-19 16:04:02

标签: spring spring-mvc annotations validation

我们正在使用带注释的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";
    }
...

我得到的错误是“此消息在代码中”,而不是“密码不匹配”

1 个答案:

答案 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>