论坛首页 Web前端技术论坛

Ext3.0很实用的2个小插件

浏览 5088 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-09-22  
Ext新加入了2个很实用的小插件:
1、用来判断时间输入(结束时间不能大于开始时间)。
2、密码验证。


扩展VTypes:
Ext.apply (Ext.form.VTypes, {
	daterange : function(val, field) {
		var date = field.parseDate (val);

		if(!date) {
			return;
		}
		if(field.startDateField && (!this.dateRangeMax || (date.getTime () != this.dateRangeMax.getTime ()))) {
			var start = Ext.getCmp (field.startDateField);
			start.setMaxValue (date);
			start.validate ();
			this.dateRangeMax = date;
		} else if(field.endDateField && (!this.dateRangeMin || (date.getTime () != this.dateRangeMin.getTime ()))) {
			var end = Ext.getCmp (field.endDateField);
			end.setMinValue (date);
			end.validate ();
			this.dateRangeMin = date;
		}

		/*
		 * Always return true since we're only using this vtype to set the
		 * min/max allowed values (these are tested for after the vtype test)
		 */
		return true;
	},
	password : function(val, field) {
		if(field.initialPassField) {
			var pwd = Ext.getCmp (field.initialPassField);
			return (val == pwd.getValue ());
		}
		return true;
	},
	passwordText : 'Passwords do not match'
});


使用code:
var dr = new Ext.FormPanel({
				labelWidth: 125,
				frame: true,
				title: 'Date Range',
				bodyStyle: 'padding:5px 5px 0',
				width: 350,
				defaults: {
					width: 175
				},
				defaultType: 'datefield',
				items: [{
					fieldLabel: 'Start Date',
					id: 'startdt',
					format: 'Y-m-d',
					vtype: 'daterange',
					endDateField: 'enddt' // id of the end date field
				}, {
					fieldLabel: 'End Date',
					id: 'enddt',
					format: 'Y-m-d',
					vtype: 'daterange',
					startDateField: 'startdt' // id of the start date field
				}]
			});
			
			dr.render('dr');
			
			var pwd = new Ext.FormPanel({
				labelWidth: 125,
				frame: true,
				title: 'Password Verification',
				bodyStyle: 'padding:5px 5px 0',
				width: 350,
				defaults: {
					width: 175,
					inputType: 'password'
				},
				defaultType: 'textfield',
				items: [{
					fieldLabel: 'Password',
					id: 'pass'
				}, {
					fieldLabel: 'Confirm Password',
					vtype: 'password',
					initialPassField: 'pass' // id of the initial password field
				}]
			});
			
			pwd.render('pw');
   发表时间:2009-09-22  
Ext3.0?老兄,老早就有了
1 请登录后投票
   发表时间:2009-09-23  
seven_cuit 写道
Ext3.0?老兄,老早就有了

对,2.3已经有了,我是直接从2.0跳到3.0的,感觉还比较实用所以就贴出来。
0 请登录后投票
   发表时间:2009-09-25  
2.2.1自带了这个例子,2.0是无法使用的,我自己写了一个能在2.0里用的vtype
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics