我有一个包含多个字段(名称,姓氏等)和数据表的表单。 Datatable专门用于将地址存储到辅助bean中。一个人可以有多个地址,所以我按如下方式添加一个按钮:
<a4j:commandButton action="#{bean.addAddressRow}" value="Add address" reRender="addresses" />
其中“addresses”是我的数据表的id。我使用a4j是因为没有必要刷新page.z
我想要做的是跳过整个表单的验证,除了按下此按钮时的地址字段。因此,如果所有先前的地址都被正确填充,则用户可以再添加一个地址。其他字段不应该被验证。
有可能吗?
答案 0 :(得分: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>