Jsf 仅将f:验证器限制在特定的提交按钮上
我有一个JSF表单,其中有一个文本区域和多个按钮。 对于文本区域,我使用f:validator进行验证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" /> 验证程序正在按预期工作。现在我在页面上有多个提交按钮,我希望验证只发生在特定的按钮上,其余按钮上的验证器应该被忽略 是否有限制验证器仅在特定
<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,该按钮应该是触发验证的唯一按钮