2012-11-13 66 views
1

我有一個包含幾個字段(名稱,姓氏等)和一個數據表的表單。 Datatable專用於將地址存儲到輔助bean中。一個人可以有多個地址,所以我添加一個按鈕,如下所示:RichFaces:部分表單驗證

<a4j:commandButton action="#{bean.addAddressRow}" value="Add address" reRender="addresses" /> 

其中「地址」是我的數據表的標識。我使用a4j,因爲沒有必要刷新頁面.z我想要做的是跳過除按鈕按下時地址字段的整個表單的驗證。因此,如果所有以前的地址都正確填寫,用戶可以添加一個地址。其他字段不應該被驗證。

可以嗎?

回答

1

將您的地址表和commandButton<a4j:region>標籤包裝並將屬性renderRegionOnly設置爲true
看下面的例子。這裏只有最後兩個文本框(txt2和txt3)在您按下第一個按鈕時進行驗證。如果按下第二個按鈕,則所有三個文本框都將被驗證。

<h:form> 
    <h:inputText required="true" id="txt1"/> 
    <rich:message for="txt1" style="color:red"/> 

    <a4j:region renderRegionOnly="true"> 
     <h:inputText required="true" id="txt2"/> 
     <rich:message for="txt2" style="color:red"/> 
     <h:inputText required="true" id="txt3"/> 
     <rich:message for="txt3" style="color:red"/> 
     <a4j:commandButton value="Ok1" /> 
    </a4j:region> 

    <a4j:commandButton value="Ok2" /> 
</h:form> 
+0

謝謝。這有所幫助。 – kbeat