一、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;
}