Validation jsf消息排队且不显示

Validation jsf消息排队且不显示,validation,jsf,Validation,Jsf,我有一个jsf表单,其中包含字段、提交和消息 <h:form id="loginForm"> <h:outputText value="Введите логин и пароль:"/> <h:panelGrid columns="2"> <h:outputLabel for="email" value="E-Mail:"/> <h:inputText id="email" value="#{

我有一个jsf表单,其中包含字段、提交和消息

<h:form id="loginForm">
    <h:outputText value="Введите логин и пароль:"/>
    <h:panelGrid columns="2">
        <h:outputLabel for="email" value="E-Mail:"/>
        <h:inputText id="email" value="#{sign.email}" required="true" requiredMessage="Введите e-mail" validatorMessage="email должен быть вида abc@abc.abc">
            <f:validateRegex pattern="[\w\.-]*[a-zA-Z0-9_]@[\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]" />
        </h:inputText>
        <h:outputLabel for="password" value="Password:"/>
        <h:inputSecret converter="pwdConverter" id="password" value="#{sign.password}" required="true" requiredMessage="Введите пароль"/>
        <h:commandButton action="#{sign.doLogin()}" value="Войти"/>
        <h:commandLink action="/pages/register?faces-redirect=true" immediate="true" value="Зарегистрироваться"/>
    </h:panelGrid>
    <h:messages for="loginForm"/>
</h:form>

在login.js中,有一个来自facebook教程的javascript代码示例,它的worksfor属性采用要显示消息的组件的标识符。您当前已指定的标识符。因此,找不到任何消息组件来显示呈现的消息,即警告。只需删除for属性或提及您感兴趣的组件的标识符,或使用带有for属性的单独组件来独立显示与每个组件相关联的错误消息即可。没错,它现在可以工作了,谢谢@Tiny,请将该评论转化为答案。点击声誉箭头下方的复选框,确保接受答案。
<h:outputScript library="js" name="login.js"/>
<h:form id="loginForm">
    <h:outputText value="Введите логин и пароль:"/>
    <h:panelGrid columns="2">
        <h:outputLabel for="email" value="E-Mail:"/>
        <h:inputText id="email" value="#{sign.email}" required="true" requiredMessage="Введите e-mail" validatorMessage="email должен быть вида abc@abc.abc">
            <f:validateRegex pattern="[\w\.-]*[a-zA-Z0-9_]@[\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]" />
        </h:inputText>
        <h:outputLabel for="password" value="Password:"/>
        <h:inputSecret converter="pwdConverter" id="password" value="#{sign.password}" required="true" requiredMessage="Введите пароль"/>
        <h:commandButton action="#{sign.doLogin()}" value="Войти"/>
        <h:commandLink action="/pages/register?faces-redirect=true" immediate="true" value="Зарегистрироваться"/>
    </h:panelGrid>
    <h:messages for="loginForm"/>
</h:form>
<br/>

    <div class="fb-login-button" data-max-rows="1" data-size="medium" data-show-faces="false" data-auto-logout-link="true"></div>
    <div id="status"/>