我正在使用 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;
}
这在带有绑定的 spring mvc servlet 中作为请求参数传递。所以请求看起来像这样:
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" />
还有一个位于 src/main/resources(以及 src/main/webapp/WEB-INF)的 messages.properties 文件......
我已经尝试了 messages.properties 中的各种组合,即使只是简单地覆盖了@NotEmpty 消息,即使这对我也不起作用。