1

私はいくつかの検証を行ったWebページを持っています。ユーザーが間違ったユーザー名を入力すると、ajax primefacesのうなり声を介して通知されますが、これは正常に機能していますが、フォームの右上に赤でエラーメッセージが表示され、ajaxでは表示されません、これを止める方法はありますか?

ここに画像があります

http://i1081.photobucket.com/albums/j348/west-wot/error_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 に答える