ExtJS4学习笔记2012-06-09

// JavaScript Document
/*
	目标
	数据模型基本讲三个大部分 model proxy  store
	普通Model的创建
		数据模型对真实世界中对事物在系统中的反应
		extjs4.0 中的model相当于DB中的table 或 Java中的Class
	利用Ext。regModel创建模型
	创建model实例
		实例化对象的方法
	Validations
	自定义验证器
	简单数据代理
	Model的一对多和多对一
*/


(function(){
	Ext.onReady(function(){
		//Ext.define创建模型类
		//DB table User (name,age,email)
		Ext.define('User',{
			extend:'Ext.data.Model',
			fields:[
				{name:'name',type:'auto'},
				{name:'age',type:'int'},
				{name:'email',type:'auto'}
			]
		});
		
		//MVC中model一定是M层
		Ext.regModel('Person',{
			fields:[
				{name:'name',type:'auto'},
				{name:'age',type:'int'},
				{name:'email',type:'auto'}
			]
		});
		
		//实例化User类
		/*var u = new User({
			name:'常伟华',
			age:23,
			email:'dyelcwh@yeah.net'
		});
		alert(u.get('name'));*/
		
		//实例化Person类
		/*var p = new Person({
			name:'常伟华',
			age:23,
			email:'dyelcwh@yeah.net'
		});
		alert(p.get('name'));*/
		
		//
		/*var p = Ext.create('Person',{
			name:'常伟华',
			age:23,
			email:'dyelcwh@yeah.net'			
		});
		alert(p.get('name'));*/
		
		
		var p = Ext.ModelMgr.create({
			name:'常伟华',
			age:23,
			email:'dyelcwh@yeah.net'
		},'Person');
		alert(p.get('name'));
		
		
	});
})();

 

// JavaScript Document
(function(){
	Ext.data.validations.lengthMessage = '错误的长度';//覆盖Ext内部的变量,实现提示信息的汉化
	Ext.onReady(function(){
		
		//实现自定义验证
		//Ext.apply扩展Ext自定义类属性,只添加本身没有的
		//Ext.applyIf,如果已经存在,强制替换
		Ext.apply(Ext.data.validations,{
			age:function(config,value){
				var min = config.min;
				var max = config.max;
				
				if(min <= value && value <= value)
				{
					return true;
				}
				else
				{
					this.ageMessage = this.ageMessage + 'The age should be between ' + min + ' and ' + max;
					return false;
				}
			 },
			 ageMessage:'age is not in a normal range'
		});
		
		
		Ext.define('Person',{
			extend:'Ext.data.Model',
			fields:[
				{name:'name',type:'auto'},
				{name:'age',type:'int'},
				{name:'email',type:'auto'}
			],
			validations:[//验证
				{type:'length',field:'name',min:2,max:6},
				{type:'age',field:'age',min:0,max:102}
			]
		});
		
		var p = Ext.create('Person',{
			name:'123456789',
			age:-23,
			email:'dyelcwh@yeah.net'			
		});
		
		var errors = p.validate();
		var errorInfo = [];
		errors.each(function(v){
			errorInfo.push(v.field + '   ' + v.message);
		});
		
		alert(errorInfo.join('\n'));
		
	});
})();

知识共享许可协议
《ExtJS4学习笔记2012-06-09》常伟华 创作。
采用 知识共享 署名-相同方式共享 3.0 中国大陆 许可协议进行许可。
相邻依据:发表时间
  • 多说评论
  • 签名
  • 新浪微博
  • 默认评论
  • Tab Header 5

1 条评论 / 点击此处发表评论

Tab Content 5

开发技术


开发平台和工具

sitemap     175.42ms