2013-04-25 2 views
0

У меня есть диалог внутри аккордеона с помощью командной кнопки. Если я нажму на командную кнопку, откроется диалоговое окно и внутри будет входной текстовый компонент. Я сделал подтверждение, что имя не должно быть пустым.Проверка диалога внутри панели аккордеона влияет на функциональность панели аккордеона

Проблема, с которой я столкнулась, даже если я не нажал на кнопку команды, появится сообщение проверки для ввода текста, говорящего, что оно не должно быть пустым. Это появляется каждый раз, и приложение зависает. Я попытался установить dynamic = "false", но это не сработало.

Я использую прайм стоит 3.5 и jsf2

<p:accordionPanel dynamic="true" id="editSeAccordion" > 
    <p:tab id="Edit3" title="myEdit"> 
     <p:dialog widgetVar="addSAPDialog" id="sapDialog" modal="true" minimizable="false" 
      style="position:fixed;" closable="true" position="350,250" maximizable="false" > 

      <p:panel style="border:none;background:#F0F0F0;margin-top:-10px;"> 
       <h:panelGrid columns="2"> 
        <h:outputText value="msg.EditService_s}" styleClass="label" /> 
        <p:inputText label="name" styleClass="textfield" 
         value="#{serviceManagedBean.sapBean.name}" required="true" 
         requiredMessage="name is compulsary"/> 

       </h:panelGrid> 
       <p:commandButton value="Cancel" styleClass="btn-secondary" 
        style="float:right;margin-top:20px;" onclick="addSAPDialog.hide();"/> 
       <p:commandButton value="Ok" styleClass="btn-primary" ajax="true" 
        actionListener="#{serviceManagedBean.createAddSapPanel}" 
        oncomplete="handleDialogSubmit(xhr, status, args)"/> 

      </p:panel> 
     </p:dialog> 
+0

Вы должны предоставить команду Command, открывающую диалог. –

+0

Я сделал это. Диалог открывается правильно, и проверка правильности происходит внутри диалогового окна. Но я сталкиваюсь с проблемой, когда я нажимаю на вкладки панели аккордеона. Несмотря на то, что я не нажал кнопку с командой (после обновления страницы или перехода с другой страницы на нее), сообщение подтверждения должно быть пустым, а зависание страницы. – shreekanth

+2

Зачем вы вставляете диалог внутри вкладки? –

ответ

0

Попробуйте использовать отдельный час: элемент формы для входов внутри диалога. Потому что, если вы нажимаете вкладки аккордеона, необходимые входы проверяются независимо от того, используется ли частичный процесс или частичный рендеринг.

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