如何使用p:growl仅用于确认而不是验证jsf2 primefaces

时间:2013-03-24 12:01:15

标签: validation jsf-2 primefaces message growl

我只想在提交对话框时使用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");

我希望我解释更多我的问题

谢谢

1 个答案:

答案 0 :(得分:14)

如果您使用null客户端ID设置消息,则它将成为“全局消息”。现在,如果您在globalOnly="true"中设置<p:growl>属性,那么它将仅显示 这类消息。

因此,所以

context.addMessage(null, message);

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

应该为你做。