2013-07-15 60 views
3

如何使用咆哮在彈出的一個對話框中顯示所有驗證消息,因爲默認情況下,客戶端上的每個驗證消息都會創建新的彈出窗口。在相同的咆哮中顯示消息

當然,我可以在服務器端進行驗證併發送最終消息給咆哮,但可以在客戶端執行嗎?

一些代碼放在這裏:

<p:dialog id="chPwD" header="#{res['user.passwordDialogHeader']}" widgetVar="changePwV" closeOnEscape="true" resizable="false"> 
    <p:growl id="growl" showDetail="false" life="3000" /> 
    <h:panelGrid id="chPwPG" columns="1" cellpadding="1" transient="true"> 
     <h:panelGrid id="chPwPGi" columns="2" cellpadding="1"> 
      <p:outputLabel for="pwd0" value="#{res['user.oldPassword']}" /> 
      <h:panelGroup> 
       <p:password id="pwd0" label="#{res['user.oldPassword']}" value="#{mngr.oldPassword}" required="true" style="width:250px;"/> 
       <span style="display:inline-block;"><p:message for="pwd0"/><p:messages for="pwd0"/></span> 
      </h:panelGroup> 

      <p:outputLabel for="pwd1" value="#{res['user.newPassword']}" /> 
      <h:panelGroup> 
       <p:password id="pwd1" label="#{res['user.newPassword']}" value="#{mngr.newPassword}" match="pwd2" required="true" style="width:250px;"/> 
       <span style="display:inline-block;"><p:message for="pwd1"/></span> 
      </h:panelGroup> 

      <p:outputLabel for="pwd2" value="#{res['user.repeatNewPassword']}" /> 
      <h:panelGroup> 
       <p:password id="pwd2" label="#{res['user.repeatNewPassword']}" value="#{mngr.newPassword}" required="true" style="width:250px;"/> 
       <span style="display:inline-block;"><p:message for="pwd2"/></span> 
      </h:panelGroup> 
     </h:panelGrid> 
    </h:panelGrid> 
    <f:facet name="footer"> 
     <p:commandButton value="#{res['btn.apply']}" style="margin-right:20px;" update=":chPwPG" action="#{mngr.changeSelectedUserPassword}" oncomplete="handlePwChangeRequest(xhr, status, args)"/> 
     <p:commandButton value="#{res['btn.cancel']}" onclick="changePwV.hide();" type="button"/> 
    </f:facet> 
</p:dialog> 

回答

0

你應該嘗試<p:messages showDetail="false" showSummary="true"/>,它爲我工作。