0
我正在使用ICEfaces 3.2。我有一個爲特定的ace:textAreaEntry
字段定義的驗證器方法。如果驗證程序中的驗證代碼失敗,我將向上下文添加面部錯誤消息。我期望當這個錯誤信息被添加到上下文中時,我的actionListener
不會被執行。但是我注意到,即使在我的驗證器向上下文添加面孔錯誤信息之後,actionListener
也會被執行。我認爲,因爲驗證失敗,人臉將不會執行actionlistener
。JSF actionListener被調用,雖然從ace驗證失敗:textAreaEntry驗證器
XHTML textareaentry代碼:
<ace:textAreaEntry
id="addrincountryofincorp"
value="#{strformbean.addrInCountryOfIncorp}"
required="true" styleClass="#{facesContext.validationFailed?'ui-state-error':''}"
label="Address in Country of Incorporation" cols="50" rows="5"
validator="#{strformbean.validateAddrLen}" />
驗證方法:
public void validateAddrLen(FacesContext fc,UIComponent uc, Object obj){
int len = 0;
Map compAttr = uc.getAttributes();
log.debug("inside validateAddrLen...");
log.debug("obj = "+obj);
if(obj != null && ! obj.equals("")){
len = obj.toString().length();
if(len > 200){
Utility.addValMesgToContext(compAttr.get("label").toString() + " cannot exceed 200 Characters");
return;
}
}
}
謝謝,我不知道我應該拋出一個validatorexception。 – ZEE