1

我有一个包含多个字段(姓名、姓氏等)和一个数据表的表单。Datatable 专用于将地址存储到支持 bean 中。一个人可以有多个地址,所以我添加了一个按钮,如下所示:

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

其中“地址”是我的数据表的 ID。我使用 a4j 是因为不需要刷新 page.z

我想要做的是在按下此按钮时跳过除地址字段之外的整个表单的验证。因此,如果所有先前的地址都正确填写,则用户可以再添加一个地址。不应验证其他字段。

有可能吗?

4

1 回答 1

1

commandButton将您的地址表和with<a4j:region>标签包装起来,并将属性设置renderRegionOnlytrue.
看下面的例子。当您按下第一个按钮时,这里仅验证最后两个文本框(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>
于 2012-11-14T05:20:51.103 回答