思路:可获取整个表单,再遍历表单得到每一个控件,通过设置控件的某个属性来判断该控件的验证需要
表单iteams:
items:[{
xtype: 'hiddenfield',
name : 'ids',
value: record.get('id'),
label: 'ids'
},{
label:'资产状态*',
name:'assetsState.id',
allowBlank:false,
valueField : 'id', //传送的值
displayField : 'state', //显示的文本
store: 'selectState'
},{
label:'存放地点',
name:'location.id',
valueField : 'id',
displayField : 'displayValue',
store: 'selectLocation'
}]
验证[写在beforesubmit( )里(方便多种方式提交表单,有时可能点击按钮,有时可能点击键盘上的GO)]
var form = Ext.getCmp('manageinfo');
var the_items = form.getFieldSet().items.items[0].items.items; //获得表单iteams,返回的是一个数组
//表单验证
if(the_items){
for(i=0;i<the_items.length;i++){
if(the_items[i].allowBlank == false){
if(the_items[i].value === ''|| typeof the_items[i].value === 'undefined'){
Ext.Msg.alert('提示','“ '+the_items[i].label+' ”'+' 不能为空');
return false; //必须返回false,否则表单会自己再做一次提交操作,并且页面跳转
}
}
}
}