在没有按钮的jsf中使用<f:ajax>呈现错误消息

时间:2019-11-12 10:31:52

标签: jsf message pageload

我有登录输入,我必须在失去输入字段焦点之后显示消息,而不发送完整的表单,因此我在<f:ajax>内使用了<h:inputText>标签,但这不显示消息。对其进行调试,并且我的bean中的代码正在运行,但消息未在视图中显示。

register.xhtml

<td class="valueColumn">
    <h:inputText id="loginField" value="#{registerBean.login}">
        <f:ajax execute="loginField" render="loginMessage" event="blur" listener="#{registerBean.loginAvailability}" />
    </h:inputText>
</td>
<h:message id="loginMessage" for="loginField"/>

registerBean

public void loginAvailability() {

        if(!loginAvailable()) {
        Messages.addError("registrationForm:loginField", "Login is not available"));
        }
}

我已经尝试过用这样的按钮发送

<h:commandButton>
         <f:ajax execute="loginField" render="loginMessage" listener="#{registerBean.loginAvailability}" />
</h:commandButton>

,它工作正常,但我想异步执行此操作而无需按钮。 有什么想法吗?

0 个答案:

没有答案