Primefaces,如何禁用表单验证?

时间:2015-04-13 20:23:46

标签: jsf primefaces

在primefaces中,如何仅禁用表单验证?

在我的代码中,如果我添加immediate="true",它将跳过整个过程,应用请求值,过程验证和更新模型值阶段,但在我的情况下,我需要bean变量绑定来提交搜索表单。如果我删除此立即设置,它将不会提交此表单,因为orderNum是一个bean ID。

请参阅此帖PrimeFaces disable validation on cancel button

感谢。

<h:form id="PurchaseOrderSearchForm">
    <p:panelGrid columns="2" style="margin-top: 0px; width: 100%;">
        <p:outputLabel value="OrderNum:" for="search_orderNum" />
        <p:inputText id="search_orderNum" value="#{purchaseOrderController.searchPurchaseOrder.orderNum}" title="OrderNum"  />                   
    </p:panelGrid>

    <div align="center"  style="margin-top: 5px;"> 
        <p:commandLink   value="#{bundle.Search}"   immediate="true" actionListener="#{purchaseOrderController.search}"  update=":growl,:PurchaseOrderList:datalist"/>                          
    </div>                    
</h:form>

1 个答案:

答案 0 :(得分:0)

您似乎将p:inputText绑定到实体(PurchaseOrder)bean的字段。但是你说这是一个搜索表单,为什么你会这样做呢?您应该将它绑定到控制器中的简单非持久字段。您在此处不需要immediate

<p:inputText id="search_orderNum" value="#{purchaseOrderController.searchQueryString}" />

然后在您的操作方法中,您可以使用searchQueryString值执行任何操作。