2012-12-05 29 views
1

我隱藏一些領域根據一些條件,即在UI他們將是不可見的,但點擊提交按鈕,Struts是驗證這些隱藏字段..支柱逃脫表單驗證的隱藏字段

有一種告訴struts不要驗證被隱藏的字段的方法...我只驗證這些字段在UI中可見時。

我使用的是struts 1.2框架。

+0

代碼片段會很好:) – KyelJmD

+0

如果您使用的是Struts,請不要使用Struts2標記您的問題。 – Pigueiras

回答

2

設置你的窗體上的屬性,當你觸發這些條件,然後再檢查,在您的驗證:

if(!form.isSkipValidation()){ 
    //Hear you can write your Validation code.. 
} 

在javascript中,你可以用一個隱藏的輸入字段設置該屬性:

<input type="hidden" name="skipValidation" value="false"/> 

希望這是有幫助的...

+0

但是我所有的表單驗證都發生在validations.xml中,而不是java類 – JAB

+0

謝謝,我忘了驗證程序類,現在我正按照您的建議處理它。 – JAB

2

struts將驗證任何形式,隱藏或不。

您需要使用條件驗證並確定您是否應該執行這些驗證,可能是通過另一個隱藏的表單值,具體取決於您如何確定隱藏的內容。

就我個人而言,我發現這種驗證在XML配置下難以維護。特別是如果驗證條件依賴於業務邏輯,我更願意在自定義驗證器或ActionForm驗證方法中看到這種邏輯,並將其封裝在與Struts框架完全隔離的類中。