2012-03-16 72 views
3

我使用@Valid註釋在表單提交後執行驗證。 (Spring MVC 3.1 & JSR 303的實現是Hibernate驗證器)如何設置使用@VALID時執行驗證的順序?

然後根據這些驗證在頁面中顯示錯誤消息。

問題是我需要控制如何顯示這些消息(換句話說,它們顯示的順序是)。我希望它們以與我的頁面中顯示的字段相同的順序顯示。

我知道這可以通過使用組來完成,但它看起來像是一個補丁。團體似乎不是爲了這個......但也許我錯了?!? 此外,我不想爲我的豆的每個屬性定義一個組(一個新的接口)...它需要比這更簡單...

所以,我的問題...是在那裏設置驗證順序的正確方法?

謝謝。

+0

這只是一個顯示問題。爲什麼訂單如此重要? – atrain 2012-03-18 14:56:00

+0

亞倫,當我看到這個順序很重要,因爲使用@Valid註釋將返回驗證器遇到的第一個任意驗證失敗的錯誤。一次只能得到一個錯誤,我希望客戶端以可預測的順序顯示錯誤消息。想象一下用戶在頁面上順序填充的一系列表單輸入 - 例如,如果字段以隨機方式突出顯示錯誤或工具提示,而不是一個接一個地放在頁面上,那將會很奇怪。 – tnunamak 2012-03-20 05:30:16

回答

0

沒有正確的方法......不幸的是,羣體是最接近標準方法的東西。希望這會很快改變!

0

你可以在你的JSP使用彈簧form:errors標籤:

<form:errors path="varName" /> 
<form:input path="varName" cssClass="small" disabled="${isFormDisabled}"/>