Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.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

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
Jsf 仅将f:验证器限制在特定的提交按钮上_Jsf_Jsf 2_Ajax4jsf - Fatal编程技术网

Jsf 仅将f:验证器限制在特定的提交按钮上

Jsf 仅将f:验证器限制在特定的提交按钮上,jsf,jsf-2,ajax4jsf,Jsf,Jsf 2,Ajax4jsf,我有一个JSF表单,其中有一个文本区域和多个按钮。 对于文本区域,我使用f:validator进行验证 <f:validator validatorId="myValidator" /> <a4j:support event="onsubmit" ajaxSingle="true" process="textarea1" /> 验证程序正在按预期工作。现在我在页面上有多个提交按钮,我希望验证只发生在特定的按钮上,其余按钮上的验证器应该被忽略 是否有限制验证器仅在特定

我有一个JSF表单,其中有一个文本区域和多个按钮。 对于文本区域,我使用f:validator进行验证

<f:validator validatorId="myValidator" />
<a4j:support event="onsubmit" ajaxSingle="true" process="textarea1" />

验证程序正在按预期工作。现在我在页面上有多个提交按钮,我希望验证只发生在特定的按钮上,其余按钮上的验证器应该被忽略


是否有限制验证器仅在特定的提交按钮上。谢谢。

我假设您也希望在单击其他按钮时向服务器提交
textarea
值(因此没有必要使用
进程
属性)

immediate=“true”
添加到其他按钮如何

这样,他们将跳过验证,而不带
immediate=“true”
的提交按钮将按预期进行验证

本文中似乎还有另一种解决方法

差不多

<h:commandButton action="#{bean.someMethod"} value="Submit2">
   <f:param name="skipValidation" value="true"/>
</h:commandButton>


在验证器的
validate
方法中,检查
skipValidation
attirbute(在文章中寻找进一步的解释…

我假设您也希望在单击其他按钮时将
textarea
值提交给服务器(因此没有必要玩
进程
属性)

immediate=“true”
添加到其他按钮如何

这样,他们将跳过验证,而不带
immediate=“true”
的提交按钮将按预期进行验证

本文中似乎还有另一种解决方法

差不多

<h:commandButton action="#{bean.someMethod"} value="Submit2">
   <f:param name="skipValidation" value="true"/>
</h:commandButton>


在验证程序的
validate
方法中检查
skipValidation
attirbute(请参阅文章中的进一步解释…

您可以使用
disabled
属性

<f:validator validatorId="myValidator" disabled="#{empty param['formId:buttonId']}" />


其中
formId
是您的
的ID,
buttonId
是按钮的ID,该按钮应该是触发验证的唯一按钮。

您可以使用
disabled
属性

<f:validator validatorId="myValidator" disabled="#{empty param['formId:buttonId']}" />

其中,
formId
是您的
的ID,
buttonId
是按钮的ID,该按钮应该是触发验证的唯一按钮