我正在使用Spring 3.0.5-RELEASE,JSR-303样式验证和Hibernate验证程序4.1.0-Final。我的模型类看起来是这样的:JSR-303验证与自定义消息
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" />
而一个messages.properties文件在的src/main /资源(以及在SRC /主/ web应用/ WEB -INF)...
我试过各种各样的messages.properties中的组合,即使做简单的覆盖说@NotEmpty消息,甚至不适用于我。
我也有这个问题。 “非常长的默认消息”就像“Property myRequest.grossAmount引发异常;嵌套异常是java.lang.IllegalArgumentException” – 2012-04-18 20:21:40
请参阅http://stackoverflow.com/a/36344999/1030527解决方案,甚至提供验证字段名称。 – bernie 2016-04-01 17:00:11