Primefaces,如何仅禁用表单验证?

Primefaces, how to disable form validation ONLY ?

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

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

请参考这个post,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>

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

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

然后在您的操作方法中,您可以使用 searchQueryString 值做任何您想做的事情。