2014-02-05 51 views
1

我打開一個彈出菜單,點擊命令鏈接,並彈出一個文本框和commandLink 每當我按提交與文本框留空白,它顯示驗證味精,直到現在這很好。現在,如果我使用右上角的十字圖標關閉彈出窗口。然後再次點擊showPopup,它會顯示錯誤消息。我想清除該消息並打開新的彈出窗口。下面 是我的代碼Primefaces重置消息在p:對話框

<p:commandLink id="showDialogButton" styleClass="add_icon" 
              value="ADD" onstart="#{dashboardBean.resetFoodPromoDTO()}" oncomplete="PF('dlg').show()" /> 

public void resetFoodPromoDTO(){ 
    foodPromoDTO=null; 
     } 

彈出的對話框

<p:dialog id="dialog" visible="#{not empty facesContext.messageList}" styleClass="customized" widgetVar="dlg" draggable="true" closable="true" resizable="false" width="730"> 
<div class="popup_subheader"> 
<div class="float_left">Add - Food Promotion Activity</div> 
<div class="float_right"></div> 
<div class="clear"></div> 
</div> 
<div class="popuptext"> 
      <div class="form-label"><label title="Project">Project: </label></div> 
      <div class="form-field"><p:inputText id="projectName" value="#{dashboardBean.foodPromoDTO.project}" required="true" requiredMessage="#{msg['validation.project.name']}"/> 
      <p:message id="projeMsgId" for="projectName" autoUpdate="true"/> 
      </div> 
      <div class="clear">&nbsp;</div> 

      <div class="form-label"><label title="Promo Date">Promo Date:</label></div> 

      <div class="btn_area_popup"> 
      <span> 
      <p:commandLink id="submitButton" validateClient="true" value="Save" action="#{dashboardBean.addFoodPromotion()}" update="@form" onuccess="PF('dlg').hide();" ajax="true"/> 
      </span> 
      </div> 
      <div class="clear"></div> 

回答

1

必須更新對話框

<p:dialog id="dialog" visible="#{not empty facesContext.messageList}" styleClass="customized" widgetVar="dlg" draggable="true" closable="true" resizable="false" width="730"> 
    <h:form id="dialog"> 
     <p:panel id="dialogBody"> 

      .... 

     </p:panel> 
    </h:form> 
</p:dialog> 

您可以使用此代碼更新對話框:

<p:commandLink id="showDialogButton" styleClass="add_icon" 
    value="ADD" actionListener="#{dashboardBean.resetFoodPromoDTO()}" oncomplete="PF('dlg').show()" update=":dialog:dialogBody" /> 

你必須使用actionListener

+0

其工作...謝謝 –