2011-10-14 51 views
0

我想在當前項目中對struts 2進行驗證。我必須將驗證消息分組。對於例如:如果有3場是空的,還有其他3場,其格式是不正確的,我需要得到像 一個味精「的填寫以下字段:字段1,字段2,字段3 以下字段的格式無效:field4,field5,field6「在Struts2驗證中組織驗證消息(XML)

我試過提供一個參數給fieldError。 例如:
< S:fielderror>
< S:PARAM值= 「%{requiredstring}」/>
< /秒:fielderror>

根據我這就像指定「顯示其所有錯誤驗證器類型是必需的「。如果我錯了,請糾正我。 但是,每當每個空的字段都會顯示消息「以下字段是必需的」。我只想顯示一次。

有沒有辦法在stuts2中使用通過xml驗證乾淨地做到這一點?我不想在驗證方法中進行所有驗證。

謝謝

回答

0

你錯了;我不知道你爲什麼認爲這會起作用,docs並不意味着這是可能的。

領域錯誤的是 - 爲特定領域的錯誤。如果您需要按照任意標準對驗證類型進行分組,您需要自行實施。

有許多方法可以做到這一點,包括編寫自定義驗證攔截器,提供驗證該組誤差以不同的方式,或者乾脆聚集在一個動作或驗證方法的相應的消息。

可能收集基於郵件內容的錯誤,但IMO會變得脆弱。如果這是一個跨應用程序問題,那麼最好以不同的方式進行。所有這些,通過以不一定反映形式的順序呈現錯誤消息,你將更多的認知開銷推到了用戶身上:我不想看到消息組告訴我哪些字段共享相同的信息錯誤,我想看看有什麼不對每個字段,在字段形式呈現在同一順序,最好是靠近表單域本身。

+0

我同意你的看法!但是這項要求來自商業,我們無法讓他們同意這一點。我目前正在使用我自己的驗證來實現這一點。 – sowmya276