Я использую Spring 3.0.5-RELEASE с валидацией стиля JSR-303 и валидатором Hibernate 4.1.0-Final. Мой модельный класс выглядит примерно так:
public class Model {
@Max(value=10,message="give a lower value")
Integer n;
}
И это передается как параметр запроса в сервлете mvc пружины с привязкой. Таким образом, запрос будет выглядеть примерно так:
http://localhost:8080/path?n=10
То, что я хочу, - это возможность настроить сообщение об ошибке при наличии исключения несоответствия типов, например,
http://localhost:8080/path?n=somestring
Что приводит к очень длинному сообщению по умолчанию, которое я хочу заменить.
Я перепробовал практически все конфигурации, описанные в Интернете, и ни одна из них, похоже, не работает. Кто-нибудь знает, что такое правильная конфигурация?
В частности, что мне нужно в моем mvc-servlet.xml? Что мне нужно в моем файле messages.properties? Имеет ли файл message.properties магическое имя, чтобы hibernate-validator нашел его?
В моем mvc-servlet.xml я безуспешно использовал следующее:
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource" p:basename="messages" />
И файл messages.properties в src / main / resources (а также в src / main / webapp / WEB-INF) ...
Я пробовал всевозможные комбинации в messages.properties даже для простого переопределения, скажем, сообщений @NotEmpty, и даже это не работает для меня.