Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JSF2.0-Ajax提交输入验证_Jsf_Jsf 2 - Fatal编程技术网

JSF2.0-Ajax提交输入验证

JSF2.0-Ajax提交输入验证,jsf,jsf-2,Jsf,Jsf 2,我有一个表单需要用ajax提交。我试图让验证工作,但当我使用ajax时它不会工作。当我取出ajax并提交带有空testinput的表单时,它会正确触发验证,而不会提交表单。如何使用ajax调用实现这一点。我的表格在下面 <h:form> <f:ajax> <h:panelGrid columns="3"> <h:outputLable for=test" value="testinput:" /> <h:

我有一个表单需要用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>

默认情况下,
不会重新呈现表单,因此您不会看到任何内容。将
替换为

可以尝试以下方法:

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

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

这只是一个问题,因为ajax并不总是做我想做的事情。他不应该把命令按钮放在里面,这样当ActionEvent发生时它就会触发吗?或者他的代码也应该这样做吗?