JSF 2.0 - Ajax提交输入验证

时间:2010-08-20 16:56:50

标签: jsf jsf-2

我有一个需要使用ajax提交的表单。我试图让验证工作,但当我使用ajax时它不会工作。当我拿出ajax并提交带有空testinput的表单时,它会正确触发他的验证并且不提交表单。我怎么能用ajax调用来做这件事。我的表格如下。

<h:form>
  <f:ajax>
   <h:panelGrid columns="3">
       <h:outputLable for=test" value="testinput:" />
       <h:inputText id=test" required="true" label="testinput" />
       <h:message for="test" id="testError"/>
   </h:panelGrid>

   <h:commandButton value="Submit" actionListener="#{testBean.doSomething}" />
  </f:ajax>
</h:form>

2 个答案:

答案 0 :(得分:5)

默认情况下,<f:ajax>不会重新呈现表单,因此您不会看到任何内容。将<f:ajax>替换为<f:ajax execute="@form" render="@form" />

答案 1 :(得分:3)

也许尝试这样的事情:

<h:form id="yourFormId">
  <!-- form content -->

  <h:commandButton value="Submit">
    <f:ajax execute="yourFormId" listener="#{testBean.doSomething}"/>
  </h:commandButton>
</h:form>