`

exjs 初学笔记(二) model

 
阅读更多
 
 //两种创建model的方式
Ext.define("person",{
   extend:"Ext.data.Model",
   fields:[
    {name:'name',type:'auto'},
    {name:'age',type:'int'},
    {name:'email',type:'auto'}
   ]
  });
  
  Ext.regModel("user",{
   fields:[
    {name:'name',type:'auto'},
    {name:'age',type:'int'},
    {name:'email',type:'auto'}
   ]
  });

//三种实例化model的方式
//1.new关键字
  var p = new person({
   name:'uspcat.com',
   age:26,
   email:'yunfengcheng2008@126.com'
  });
  //alert(p.get('name'));
  var p1 = Ext.create("person",{
   name:'uspcat.com',
   age:26,
   email:'yunfengcheng2008@126.com'
  });
  //alert(p1.get('age'));
  var p2 = Ext.ModelMgr.create({
   name:'uspcat.com',
   age:26,
   email:'yunfengcheng2008@126.com'
  },'person');
  //alert(p2.get('email'));
  //alert(p2.getName());//? class object.getClass.getName 
  alert(person.getName());

    数据验证的方法

 

//设置全局错误信息 
Ext.data.validations.lengthMessage = "错误的长度";

//定义验证方式
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:150}
   ]
  });
  var p1 = Ext.create("person",{
   name:'uspcat.com',
   age:-26,
   email:'yunfengcheng2008@126.com'
  }); 
  var errors = p1.validate(); //调用验证方法
  var errorInfo = [];
  errors.each(function(v){
   errorInfo.push(v.field+"  "+v.message); //获取验证错误信息
  });
  alert(errorInfo.join("\n"));

//自定义验证方法
Ext.apply(Ext.data.validations,{
   age:function(config, value){
    var min = config.min;
    var max = config.max;
    if(min <= value && value<=max){
     return true;
    }else{
     this.ageMessage = this.ageMessage+"他的范围应该是["+min+"~"+max+"]";
     return false;
    }
   },
   ageMessage:'数据出现的了错误'
  });

//我觉得还可以有更好的方法
Ext.apply(Ext.data.validations,{
   myValidate:function(config, value){
    var validateFun = config.validateFun;
     return validateFun.call(value,config);
   },
   myValidateMessage:'数据出现的了错误'
  });
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:"myValidate",validateFun:function(v){
      return v > 10 && v < 100;
}});
  var p1 = Ext.create("person",{
   name:'uspcat.com',
   age:-26,
   email:'yunfengcheng2008@126.com'
  }); 
  var errors = p1.validate(); //调用验证方法
  var errorInfo = [];
  errors.each(function(v){
   errorInfo.push(v.field+"  "+v.message); //获取验证错误信息
  });
  alert(errorInfo.join("\n"));

    proxy 代理

 

(function(){
	Ext.onReady(function(){
		Ext.define("person",{
			extend:"Ext.data.Model",
			fields:[
				{name:'name',type:'auto'},
				{name:'age',type:'int'},
				{name:'email',type:'auto'}
			],
			proxy:{
				type:'ajax',
				url:'person.jsp'
			}
		});
		var p = Ext.ModelManager.getModel("person");
//加载数据
		p.load(1, {
//1 默认是传递给后台的参数 参数名称为id
	        scope: this,
	        failure: function(record, operation) {
	        },
	        success: function(record, operation) {
	        	alert(record.data.name)
	        },
	        callback: function(record, operation) {
	        }
    	});
	})
})();

 

  

分享到:
评论

相关推荐

    IT初学笔记整理.pdf

    IT初学笔记整理.pdf

    非常好的java笔记适合初学者

    这份"非常好的java笔记"无疑是初学者踏入这个领域的宝贵资源。笔记由培训班的专业老师编写,内容详细且全面,旨在帮助初学者系统地学习和理解Java的基础知识。 首先,Java基础部分会涵盖变量、数据类型、运算符、...

    springMVC笔记.pdf 初学笔记

    SpringMVC笔记 SpringMVC是基于Java的开源web框架,主要用于开发基于Web的应用程序。下面是SpringMVC的笔记,涵盖了SpringMVC的基础知识、配置、开发步骤、控制器、注解、类型转换等方面的内容。 Model1与Model2...

    android笔记初学者必看

    android笔记初学者必看 包含代码和知识要点 为求职做好充分准备

    Web前端HTML5 CSS3初学者零基础入门全套学习笔记.zip

    Web前端HTML5 CSS3初学者零基础入门全套学习笔记 Web前端HTML5 CSS3初学者零基础入门全套学习笔记 Web前端HTML5 CSS3初学者零基础入门全套学习笔记 Web前端HTML5 CSS3初学者零基础入门...

    学习天池训练营mysql后根据里面做的初学笔记

    学习天池训练营mysql后根据里面做的初学笔记

    初学笔记.doc

    javaweb新手笔记,关于MyEclipse新建web项目,A标签链接与script的链接与传值,Action与jsp页面的传值等。常忘记的笔记。

    vue初学笔记.md资源分享

    初学vue可看,部分笔记分享

    网页设计笔记--整理给初学者的笔记

    "网页设计笔记--整理给初学者的笔记" 网页设计笔记是一份详细的笔记,旨在帮助初学者快速掌握网页设计的基本知识和技能。笔记涵盖了从基础知识到进阶知识的内容,包括div+css, fireworks(photoshop), dreamweaver+...

    云计算初学者笔记整理内容

    云计算初学者笔记整理内容

    hibernate初学者笔记

    关于hibernate的Session,向数据插入时的事务隔离级别,持久化对象的状态,对应关系的映射文件,表与表之间的多种映射关系,以及hibernate的二级缓存的笔记。

    HTML笔记传智讲师视频笔记适合初学者

    "HTML笔记传智讲师视频笔记适合初学者"这个标题暗示了这是一份针对初学者的教程资料,可能包含了从基础到进阶的HTML知识,通过传智讲师的教学方式来讲解。 描述中的"html学习笔记"表明这是关于HTML学习的过程记录,...

    Mybatis 初学者学习笔记

    Mybatis 初学者学习笔记

    第二章 初识 IO 函数,初学者的笔记

    笔记

    linux初学笔记

    linux的基本知识 虚拟机的安装 使用虚拟机安装linux系统

    Linux初学者笔记与搭档工具

    Linux系统笔记,9个文本, 1、安装 2、配置jdk 3、配置tomcat与eclipse 4、创建用户与分配权限 5、mysql配置 6、配置VNC 7、添加硬盘 8、简单复习 9、nginx安装 10.ha_SecureCRT与 winscp中文破解版

    java初学者笔记

    包含很多初学者必须掌握的技术

    C语言学习笔记

    C语言学习笔记,C语言学习笔记,qsort排序。。。。。。。。。。。。。。。。。。。。。。。。。。。。

    初学者Linux学习笔记

    初学者Linux学习笔记,根目录文件结构解析说明,内容不断更新中。。。

    适合初学者的java学习笔记

    这份"适合初学者的java学习笔记"正是为了帮助那些刚接触编程或者打算入门Java的人设计的。 笔记内容可能包括以下几个核心部分: 1. **Java基础**:这部分会详细介绍Java的基本语法,如变量、数据类型、运算符、...

Global site tag (gtag.js) - Google Analytics