Primefaces,如何禁用表单验证?

问题描述 投票:0回答:1

在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>
jsf primefaces
1个回答
0
投票

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

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

然后在你的动作方法中,你可以用searchQueryString值做任何你想做的事。

© www.soinside.com 2019 - 2024. All rights reserved.