一、raidoGroup
1、普通校验
w:radioGroup不像w:textField那样的个错误显示的地方(比如:输入框下面出波浪线)
所以需要指定错误信息出现在哪里。
可以在页面任何地方加一个
<h:message for="radioGroup的id属性值"/>
但是 <h:message for="radioGroup的id属性值"/>只能在服务器端校验生效,在 clientValidate="true" 不生效
2、为空校验
自带的required="true"无用(客户端校验无用,服务器端?)
论坛上说: 如果要是用客户端校验,可 <h:outputLabel for="bklx" value="测试"/> ,但是没有 错误提示的图标,只有提示文字
经过自己测试,可以 用
<ajax:clientValidator message="原准考证号为15位">
。。。。内部为 JS 代码。。。。。
</ajax:clientValidator>
3、宽度
raidioGroup自带的width无用,需用style="width:200px;"
4、JS取值
radioGroup没有jsvar属性
ID.getValue().inputValue
5、校验
if(PASS.getValue()==null){ //非空校验 Ext.Msg.alert('错误','请选择 审核意见!'); return false; } else if(PASS.getValue().inputValue=="院系通过"){ return true; }
二、combo
1、JS重新初始化
function setSeF(a){ //参数为 选项从a开始 var data=[]; sequence.clearValue(); for(var i=a; i<11;i++ ){ switch(i){ case 1:data.push(["第一作者","1"]);break; case 2:data.push(["第二作者","2"]);break; case 3:data.push(["第三作者","3"]);break; case 4:data.push(["第四作者","4"]);break; case 5:data.push(["第五作者","5"]);break; case 6:data.push(["第六作者","6"]);break; case 7:data.push(["第七作者","7"]);break; case 8:data.push(["第八作者","8"]);break; case 9:data.push(["第九作者","9"]);break; case 10:data.push(["第十作者","10"]);break; } } sequence.store.loadData(data);
但是,这样后台bean取值为null,
参考:http://xy.zhubajie.com/html/2009/03-30/204316.html
2、bean初始化
a、
@Bind @SelectItems private javax.faces.model.SelectItem[] ugIDs; // 类构造的时候执行,比 EJB注入 先执行 public javax.faces.model.SelectItem[] getUgIDs() { //getugIDs()不行,get后第一个字母要大写 。。。 。。。 。。。 List<userGroup> ls = userGroupService.findAll(); javax.faces.model.SelectItem[] results = new javax.faces.model.SelectItem[ls.size()]; if (results == null) { return null; } for (int i = 0; i < results.length; i++) { results[i] = new javax.faces.model.SelectItem(ls.get(i).getUgID(), ls.get(i).getUgName()); } this.ugIDs = results; //如果使用getugIDs()放到@BeforeRender里,必须用这两行, return this.ugIDs; //直接用return results不行 // return results; }