Я пытаюсь настроить собственный источник сообщений для Hibernate Validator 4.1 через Spring 3.0. Я настроил необходимую конфигурацию:
<!-- JSR-303 -->
<bean id="validator"
class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="validationMessageSource" ref="messageSource"/>
</bean>
Перевод выполняется из моего источника сообщений, но кажется, что токены замены в самих сообщениях просматриваются в источнике сообщений, то есть для a:
my.message=the property {prop} is invalid
есть вызовы для поиска 'prop' в messageSource. Переход в ResourceBundleMessageInterpolator.interpolateMessage
Я отмечаю, что javadoc заявляет:
Запускает интерполяцию сообщений в соответствии с алгоритмом, указанным в JSR 303.
Примечание: Взгляды в пользовательских пакетах являются рекурсивными, тогда как поиск по умолчанию не является!
Мне кажется, что рекурсия всегда будет иметь место для заданного пользователем пакета, поэтому я не могу переводить стандартные сообщения, например, для Size.
Как я могу подключить свой собственный источник сообщений и иметь возможность заменять параметры в сообщении?