我试图用JSF验证两个密码字段,但直到现在没有好的,我在谷歌搜索它,但一切都是关于JSF 1.2和相当混乱,我使用JSF 2.0。如何通过ajax验证两个密码字段?
这是我在做什么至今:
<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
嗨@jdias,我的意思是不按照它假设的方式工作。谢谢你可能有点困惑。 –