2013-11-07 3 views
0

У меня есть два primefaces диалога, которые находятся внутри одной ч: форма и я хочу представить некоторые необходимые значения из одного диалога без представить требуемые значения из других:Два ч: формы внутри одного часа: форма

<h:form> 
    <p:dialog modal="true" widgetVar="A"> 
     <h:inputText value="#{bean.value}" required="true" /> 
     <p:commandButton value="A" action="#{bean.someAction}" /> 
    </p:dialog> 

    <p:dialog modal="true" widgetVar="B" > 
     <h:inputText value="#{bean.otherValue}" required="true" /> 
     <p:commandButton value="B" action="#{bean.someOtherAction}" /> 
    </p:dialog> 
</h:form> 

Если я нажимаю commandButton A, то проверка требуемого значения внутри диалога B не позволяет мне отправлять значения из диалога A.

Как я могу это сделать?

ответ

2

Лучшее и логическое решение разделить диалоги на отдельные формы. Более того, наилучшей практикой является размещение формы внутри диалога, а не наоборот.

Еще одно решение - явно указать JSF/PrimeFaces, что нужно обновлять и обрабатывать во время запроса ajax, указав соответствующий атрибут вашей командной кнопки или вложив в нее тег ajax.

+0

Также было бы полезно пояснить, что вложение '

' Компоненты HTML не работают (так как это суть вопроса). –

+0

'instant = true' не может решить эту проблему? – Omar

+0

@ Омар нет, это просто пропускает проверку. Лучшим вариантом является разделение большой формы на две (или более) формы. –

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