我有登录输入,我必须在失去输入字段焦点之后显示消息,而不发送完整的表单,因此我在<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>
,它工作正常,但我想异步执行此操作而无需按钮。 有什么想法吗?