RichFaces:部分表单验证

时间:2012-11-13 18:12:26

标签: validation jsf richfaces

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

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

其中“addresses”是我的数据表的id。我使用a4j是因为没有必要刷新page.z

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

有可能吗?

1 个答案:

答案 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>