BindingResult.rejectValue не находит значения из ValidationMessages.properties - PullRequest
2 голосов
/ 19 мая 2010

Мы используем 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 голосов
/ 20 мая 2010

Это решило проблему, спасибо @ Kartik

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
    <property name="basenames">
        <list>
            <value>ValidationMessages</value>
            <value>ApplicationResources</value>            
        </list>
    </property>
</bean>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...