外部登录表单由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>
答案 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>