ExtJS4.2第一天---数据模型

/**
 * Ext数据模型
 */
(function(){
	Ext.onReady(function(){
		
	Ext.data.validations.lengthMessage = '错误的长度' ;	   // 提示的信息进行汉化
	
	//  自定义验证类   ---由于需要将此代码提前     第四步   
	Ext.apply(Ext.data.validations,{
		age: function(config, value) {
	        if (value === undefined || value === null) {
	            return false;
	        }
	        min = config.min,
	        max = config.max;
	       
	        if(value>max || value < min){
	        	return false ;
	        }else{
	        	return true ;
	        }
    	},
    	ageMessage:'错误的年龄'
	});
	
	
	//------------创建数据模型并且进行实例化-----------------------	
		//通过Ext.define 进行创建数据模型类
		Ext.define('Person',{    //  第一步
			extend:'Ext.data.Model',
			fields:[
				{name:'name',type:'auto'},
				{name:'age',type:'int'},
				{name:'email',type:'auto'}
			]
		});
		
		// 通过new方法进行实例化类
		var person = new Person({
			name:'zhangsan',
			age:11,
			email:'1111@qq.com'
		});
		
		// 通过Ext.create方法进行实例化  ---推荐使用 
		var p = Ext.create("Person",{
			name:'李四',
			age:12,
			email:'1111@qq.com'
		})
		//测试
//		alert(person.get('name'));
		Ext.Msg.alert('提示',p.get('name'));
		
	//------------------验证----------------------------
		// 定义带有验证信息的数据模型
	Ext.define('User', {       // 第二步
	    extend: 'Ext.data.Model',
	    fields: [
	        {name: 'name',     type: 'string'},
	        {name: 'age',      type: 'int'},
	        {name: 'phone',    type: 'string'},
	        {name: 'gender',   type: 'string'},
	        {name: 'username', type: 'string'},
	        {name: 'alive',    type: 'boolean', defaultValue: true}
	    ],
	
	    validations: [
		        {type: 'age',  field: 'age' ,min:18,max:60},   // 验证是否存在
		        {type: 'length',    field: 'name',     min: 2,max:10},    // 验证长度
		        {type: 'inclusion', field: 'gender',   list: ['Male', 'Female']},   // 包含在指定集合中
		        {type: 'exclusion', field: 'username', list: ['Admin', 'Operator']}, // 不包含在指定集合中
		        {type: 'format',    field: 'username', matcher: /([a-z]+)[0-9]{2,3}/}   // 正则表达式
		    ]
		});	
		
		// 实例化
		var instance = Ext.create('User', {
		    name: 'E',
		    age: 68,
		    gender: 'Male',
		    username: 'edspencer'
		});
		//  进行验证,并且收集错误信息      第三步
		var errors = instance.validate();
		var errArray = [] ;
		errors.each(function(item){
			errArray.push(item.field+" "+item.message);
		});
		alert(errArray.join("\n"));
	})
	
})();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值