【发布时间】:2014-11-14 09:41:49
【问题描述】:
我使用 jsf 2.1.21、ICEFaces 3.3、Tomcat 7 和休眠验证器 5.1。组件ace:simpleSelectOneMenu 是指配置了@Min 验证的支持bean 字段。并且不执行 bean 验证。
<ace:simpleSelectOneMenu id="category" value="#{myBean.catId}" label="Category"
validatorMessage="Please select category">
<f:selectItem itemValue="-1" itemLabel="Please select"/>
<f:selectItem itemValue="0" itemLabel="Category 1"/>
<f:selectItem itemValue="1" itemLabel="Category 2"/>
</ace:simpleSelectOneMenu>
<h:message id="categoryMsg" for="category"/>
@ManagedBean
public class MyBean {
@Min(0)
private int catId;
public int getCatId() {
return catId;
}
public void setCatId(int catId) {
this.catId = catId;
}
}
如果使用 h:selectOneMenu 而不是 ace:simpleSelectOneMenu 则 bean 验证有效。更我看到 ace SelectOneMenu 组件已将验证器 javax.faces.validator.BeanValidator 添加到其验证器中。但是没有触发。
我想知道如何使该验证器工作?
如果使用其他 ace 组件,例如 ace:textEntry,则 bean 验证有效。
【问题讨论】:
标签: jsf-2 icefaces-3