1

我有一个带有一些验证的网页,当用户输入错误的用户名时,它会通过 ajax primefaces 咆哮告诉他们,这工作正常,但是在表单右上角以红色显示错误消息,而不是在 ajax ,有什么办法可以阻止这种情况吗?

这是图像

http://i1081.photobucket.com/albums/j348/west-wot/errror_zpsda7f29d7.jpg

它可能比我的解释更能说明我的意思,错误不是代码中的错误,只是验证错误

添加了一张图片,这样您就可以看到我的意思是什么错误,左侧的 ajax 很好,它只是我想隐藏的右侧错误消息

代码是

       <ui:define name="body">
        <!--<h:panelGroup id="messagePanel" layout="block">
                  <h:messages errorStyle="color: red" infoStyle="color: green" layout="table"/>
              </h:panelGroup> -->
        <h:form>
            <p:growl id="growl" showDetail="true" sticky="true" />
            <!--ajax messages working now -->

            <p:panel header="Enter details">
                <h:panelGrid columns="2">
                    <h:outputLabel value="#{bundle.CreateUserdetailsLabel_id}"
                        for="id" />
                    <h:inputText id="id"
                        value="#{userdetailsController.selected.id}"
                        title="#{bundle.CreateUserdetailsTitle_id}" required="true"
                        requiredMessage="#{bundle.CreateUserdetailsRequiredMessage_id}" />
                    <h:outputLabel value="#{bundle.CreateUserdetailsLabel_username}"
                        for="username" />

                    <h:inputText id="UserName"
                        value="#{userdetailsController.selected.username}"
                        title="#{bundle.CreateUserdetailsTitle_username}"
                        required="true" requiredMessage="Username is required"
                        label="UserName">
                        <f:validator validatorId="richard.validator.UserNameValidator" />
                    </h:inputText>

                </h:panelGrid>
                <br />
                <h:commandLink action="#{userdetailsController.create}"
                    value="#{bundle.CreateUserdetailsSaveLink}" />
                <br />
                <br />
                <h:commandLink action="#{userdetailsController.prepareList}"
                    value="#{bundle.CreateUserdetailsShowAllLink}" immediate="true" />
                <br />
                <br />
                <h:link outcome="/index"
                    value="#{bundle.CreateUserdetailsIndexLink}" />
            </p:panel>

正如您从上面的代码中看到的那样,错误消息被注释掉了,所以不应该影响事情

4

1 回答 1

1

尝试将“globalOnly=true”添加到您的咆哮中。

<p:growl id="growl" showDetail="true" sticky="true" globalOnly="true" />

stackoverflow.com/a/15599070/2755755

于 2013-11-06T22:18:26.447 回答