Extjs中Ext.form.VTypes日期大小比较的实例

Ext.apply(Ext.form.VTypes, {
	sField : function(val, field) {
		var f = field.getValue();
		var sf = field.tScope[field.smallerField].getValue();
		if (!Ext.isEmpty(f) && !Ext.isEmpty(sf) && Number(sf) >Number(f)) {
			return false;
		} else {
			return true;
		}
	},
	sFieldText : '结束日期不能小于开始日期',
	smallerEqField : function(val, field){
		var f = field.getValue();
		var sf = field.tScope[field.smallerEqField].getValue();
		if (!Ext.isEmpty(f) && !Ext.isEmpty(sf) && Number(sf) >= Number(f)) {
			return false;
		} else {
			return true;
		}
	},
	smallerEqFieldText : '结束日期不能小于或等于开始日期'
});


以上是这个类的扩展,使用的方式如下:

其中有一篇帖子讲解如何重写VTypes,点击Ext.form.VTypes


{
				xtype : "container",
				layout : "form",
				colspan : 1,
				items : {
					xtype : 'sysDateField',
					fieldLabel : '开始日期',
					hiddenName : 'bdate',
					value : App.defaultValue.date,//设置的默认值,是系统当前的时间
					allowBlank : false
				}
			}, {
				xtype : "container",
				layout : "form",
				colspan : 1,
				items : {
					xtype : 'sysDateField', //重写了datefield,无关紧要
					fieldLabel : '结束日期',
					hiddenName : 'edate',
					vtype : 'sField',
					smallerField : 'bdate',
					tScope : this,
					value : '20991231', //日期格式,处理时可以作为整形,方便处理。
					allowBlank : false
				}
			}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章