【发布时间】:2011-11-21 08:07:42
【问题描述】:
我正在尝试使用 JSF 验证两个密码字段,但到目前为止效果不佳,我在 google 上搜索它,但所有内容都是关于 JSF 1.2 的,而且相当混乱,我使用的是 JSF 2.0。
这就是我目前正在做的事情:
<h:outputLabel for="password" value="Password:" />
<h:inputSecret id="password" value="#{register.user.password}" >
<f:ajax event="blur" listener="#{register.validatePassword}" render="m_password" />
</h:inputSecret>
<rich:message id="m_password" for="password"/>
<h:outputLabel for="password_2" value="Password (again):" />
<h:inputSecret id="password_2" value="#{register.user.password_2}" >
<f:ajax event="blur" listener="#{register.validatePassword}" />
</h:inputSecret>
这就是我的控制器:
public void validatePassword() {
FacesMessage message;
if (!user.getPassword().equals(user.getPassword_2()) ){
message = new FacesMessage(FacesMessage.SEVERITY_ERROR, null, "different password");
}else{
message = new FacesMessage(FacesMessage.SEVERITY_INFO, null, "ok");
}
FacesContext.getCurrentInstance().addMessage("form:password", message);
}
有什么想法吗?
【问题讨论】:
-
你是什么意思它工作但不太好?慢吗?不确定我是否了解您想要更改的内容以及原因。
-
嗨@jdias,我的意思是没有按预期的方式工作。谢谢,这可能有点令人困惑。
标签: jsf jsf-2 passwords validation