rich:message disable命令首次使用后按钮

时间:2013-07-22 10:48:35

标签: jsp jquery richfaces

在调查互联网几天后,问题仍然存在。我想知道是否有人可以帮助我。

外部登录表单由jQuery叠加层显示 http://jquerytools.org/demos/overlay/external.html

通过表单请求用户名和密码。 rich:在按下提交按钮后,如果需要,消息应显示错误消息。这只能工作一次。没有rich:message,提交可以多次正常工作。 我做错了什么? 一些代码:

overlay_login.xhtml的源代码

<ui:composition xmlns="http://www.w3.org/1999/xhtml"    
<div id="overlay-content">
    <h1>Anmelden</h1>


    <h:form id="login_form">

        <h:outputLabel value="#{msg['login.mainMailOrName']}" />
        <div id="overlay-panel">
            <h:inputText id="mainMailOrName" value="#{login.mainMailOrName}"
                required="true" requiredMessage="#{msg['general.fieldRequired']}"
                size="30" />
            <rich:message for="mainMailOrName" />
        </div>
        <h:outputLabel value="#{msg['general.password']}" />
        <div>
            <h:inputSecret id="password" value="#{login.password}" size="30"
                required="true" requiredMessage="#{msg['general.fieldRequired']}"
                validator="#{login.validPasswordValidator}"
                validatorMessage="#{msg['login.loginFailed']}" />
            <rich:message for="password" style="color:#aa0000;" />
        </div>
        <div>
            <a4j:commandButton  image="images/login_button.png" oncomplete="if(#{!facesContext.validationFailed}) $('a[rel]').overlay().close(); return false;" />
        </div>

    </h:form>

1 个答案:

答案 0 :(得分:0)

使用<h:message>代替<rich:message>

解决了问题
<a4j:outputPanel ajaxRendered="true">
<!-- <rich:message for="mainMailOrName" style="color:#aa0000;" /-->
     <h:messages for="mainMailOrName" style="color:#aa0000;" />
</a4j:outputPanel>