2013-03-24 2 views
6

voglio usare p:growl solo quando la finestra di dialogo e 'stato inserito per confermare all'utente che il record viene salvato e io uso il p:message per la convalidacome utilizzare p: growl solo per conferma non convalida jsf2 primefaces

ma il problema è p: growl è utilizzato anche per la convalida accanto al p:message

<p:dialog id="dialog" modal="true" header="Nouveau Type" 
       widgetVar="dlg"> 

       <h:panelGrid id="panel" columns="3" cellpadding="5"> 



        <h:outputLabel for="libelle" value="Libelle :" /> 
        <p:inputText value="#{typeMB.newtype.libelle}" id="libelle" 
         required="true" label="libelle" requiredMessage="Veuillez saisir une valeur" 
         validatorMessage="la valeur doit depasser 2 caracteres" > 
         <f:validateLength minimum="2" /> 
        </p:inputText> 
        <p:message for="libelle" display="text" /> 

        <h:outputLabel for="commission" value="commission :" /> 
        <h:inputText value="#{typeMB.newtype.commission}" id="commission" 
         required="true" label="commission" 
         requiredMessage="Veuillez saisir une valeur" 
         converterMessage="Veuillez saisir un nombre" 
         validatorMessage="Veuillez saisir entre 0 et 100" > 
         <f:validateDoubleRange minimum="10" maximum="100" /> 
         </h:inputText> 
        <p:message for="commission" display="text" /> 


        <f:facet name="footer"> 
         <p:commandButton id="ajouterBoutton" value="Ajouter" 
          update="panel :form:ourdatatable" actionListener="#{typeMB.ajouter}" 
          oncomplete="handleLoginRequest(xhr, status, args)" /> 
         <p:commandButton type="reset" value="vider" update="panel" 
        process="@this" actionListener="#{typeMB.reset}" /> 
        </f:facet> 

        <p:growl style="z-index=1000" id="growl" showDetail="true" 
         life="3000" /> 
       </h:panelGrid> 


      </p:dialog> 

come lasciare il p: growl solo per il record viene salvato per confermare, ma non convalida perché il valore del ringhio è impostato dal bean gestito:

msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Confirmation", 
       "Type ajouté avec succés"); 

spero ho spiegato il mio problema più

grazie

risposta

10

Se si imposta il messaggio con un ID null cliente, allora diventa un "messaggio globale". Ora, se imposti l'attributo globalOnly="true" in <p:growl>, allora verrà visualizzato solo quel tipo di messaggi.

Così, in modo

context.addMessage(null, message); 

con

<p:growl ... globalOnly="true" /> 

dovrebbe farlo per voi.

+0

grazie, questo è esattamente il mio obiettivo –

+0

Prego. – BalusC