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

本文介绍了一种在ExtJS框架中扩展日期字段验证的方法。通过重写Ext.form.VTypes类来实现日期范围的有效验证,确保结束日期不会小于或等于开始日期。文章提供了具体的配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值