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 } }