我試圖用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,我的意思是不按照它假設的方式工作。謝謝你可能有點困惑。 –