我正在使用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