2015-04-13 5 views
0

В простых функциях, как отключить проверку формы ТОЛЬКО?Принципы, как отключить проверку формы ТОЛЬКО?

В моем коде, если я добавлю immediate="true", он пропустит весь процесс, применяет значения запроса, проверки процесса и обновляет значения параметров модели, но в моем случае мне нужно привязать переменную bean для отправки формы поиска. Если я удалю эту немедленную настройку, она не представит эту форму, потому что orderNum является идентификатором компонента.

пожалуйста, обратитесь к этому сообщению, 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> 
+0

Я думаю, что ваше ожидание ошибочно. См. Http://stackoverflow.com/questions/12960718/trying-to-understand-immediate-true-skipping-validation-when-it-shouldnt – Kukeltje

ответ

0

Вы, кажется, сшиваться p:inputText к объекту (PurchaseOrder) поле компонента. Но вы говорите, что это форма поиска, так зачем вам это делать? Вы должны привязать его к простому непостоянному полю вашего контроллера. Здесь не нужно immediate.

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

И тогда в вашем методе действия вы можете делать все, что вы хотите со значением searchQueryString.

+0

Вы правы, я буду использовать объект передачи. – user595234

Смежные вопросы