0

上网查了几天,问题依然存在。我想知道是否有人可以帮助我,拜托。

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

通过表格要求用户名和密码。rich:messages 应该在按下提交按钮后显示错误信息。这只工作正常一次。没有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>

4

1 回答 1

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>
于 2013-07-24T07:31:51.797 回答