7

p:growlレコードが保存されていることをユーザーに確認するためにダイアログが送信されたときにのみ使用したいのでp:message、検証に使用します

しかし、問題は、p:growlが検証のほかに使用されることです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>

レコードのp:growlのみを保存して確認しますが、growlの値は管理対象Beanから設定されるため、検証は行いません。

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

私の問題をもっと説明したいと思います

ありがとうございました

4

1 に答える 1

14

nullクライアントIDでメッセージを設定すると、「グローバルメッセージ」になります。ここで、にglobalOnly="true"属性を設定すると、その種類のメッセージのみ<p:growl>が表示されます。

したがって、そう

context.addMessage(null, message);

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

あなたのためにそれをする必要があります。

于 2013-03-24T13:34:02.383 に答える