2012-06-27 28 views
0

我有一个JSF表单,其中有一个textarea和多个按钮。 为文本区我在做用F验证:验证仅在特定的提交按钮上限制f:验证器

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

验证器工作正常。现在,我在页面上有多个提交按钮,我希望只在特定按钮上进行验证,并且应该在其余按钮上忽略验证器。

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

回答

2

我假设你想要的textarea值提交到服务器上的其他按钮点击过当(所以没有点与process属性播放)

如何添加immediate="true"其他按钮?

这样他们就跳过验证,而提交按钮没有immediate="true"会做验证预期

或者

似乎本文JSF 2 - Conditionally Skip Validation

喜欢的东西

<h:commandButton action="#{bean.someMethod"} value="Submit2"> 
    <f:param name="skipValidation" value="true"/> 
</h:commandButton> 
在另一个解决办法

和里面的validate方法的validat或检查skipValidation attirbute(在文章中寻找进一步的解释...)

2

您可以使用disabled属性。

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

哪里formId是你<h:form>的ID和buttonId是被认为是触发验证的唯一按键按钮的ID。