ExtJs学习(一) Ext.data.Model
来源:互联网 发布:淘宝上的杂牌手机 编辑:程序博客网 时间:2024/05/16 15:03
一、创建Model
Model代表应用程序管理的一些对象,可理解为Java中的类。Model定义为字段、任意方法和与模型相关的属性的集合。
Ext.onReady(function(){//利用Ext.define来创建 Model,Ext.regModel方式为旧方式Ext.define('person',{extend : 'Ext.data.Model',fields : [{name: 'name', type: 'string'}, {name: 'age', type: 'int', convert: null}, {name: 'phone', type: 'string'}]});//实例化person类//方法1:new 关键字/*var p1 = new person({name:'stefan',age:20,phone:'107427@qq.com'});alert(p1.get('phone'));*///方法2: Ext.create() Ext推荐/*var p2 = Ext.create('person',{name:'stefan',age:20,phone:'107427@qq.com'});alert(p2.get('age'));*///方法3: Ext.ModelMgr.createvar p3 = Ext.ModelMgr.create({name:'stefan',age:20,phone:'107427@qq.com'},'person');alert(p3.get('name'));});
二、验证机制 validations
Model有内置的验证支持, 通过执行Ext.data.validations中的验证器函数(Ext.data.validations查看所有的验证函数)。
加入name与age的验证:
Ext.define('person',{extend : 'Ext.data.Model',fields : [{name: 'name', type: 'string'}, {name: 'age', type: 'int', convert: null}, {name: 'phone', type: 'string'}],validations:[/** * name:2~6 * age:0~100 */{type:"length",field:"name",min:2,max:6},{type:"length",field:"name",min:0,max:100}]});
通过Ext.apply方法,自定义验证方法:
Ext.apply(Ext.data.validations,{age:function(config,value){if (value === undefined) {return false; } var min = config.min; var max = config.max;if (min <= value && value <= max) { return true; } else { this.ageMessage = this.ageMesage + "它的范围应为["+min+"~"+max+"]";; return false; }},aggMessage: 'age数据错误'});
通过调用validate函数能简单执行验证, 返回一个Ext.data.Errors 对象:
var errors = p1.validate();var errorInfo = [];errors.each(function(v){errorInfo.push(v.field+" "+v.message);});alert(errorInfo.join("\n"));
0 0
- ExtJs学习(一) Ext.data.Model
- ExtJS教程(4)---Ext.data.Model之基础应用
- ExtJS教程(5)---Ext.data.Model之高级应用
- ExtJs教程----Ext.data.Model的Ajax
- extJs 2.1学习笔记(Ext.data.Connection篇一)
- extJs 2.1学习笔记(Ext.data.JsonReader篇一)
- extJs 2.1学习笔记(Ext.data.Connection篇一)
- extJs 2.1学习笔记(Ext.data.JsonReader篇一)
- extJs 2.1学习笔记(Ext.data.JsonReader篇一)
- 【ExtJs学习系列】Ext简介(一)
- Extjs 学习 --Ext.grid.GridPanel()(一)
- Extjs中Ext.data.Model的schema配置项
- ExtJS4学习笔记(十五)---Ext.data.Model
- Extjs学习一 --Ext.MessageBox
- (文档翻译)Ext.data.Model
- Ext.data.Model
- 继承Ext.data.Model
- ExtJS教程(6)---Ext.data.Store
- 2017.4.23 一元三次方程求解 思考记录
- 虚函数与纯虚函数
- [网易云课堂]Linux内核分析(九)—— 课程总结
- Codeforce 798D(贪心)
- Java集合----HashSet的实现原理
- ExtJs学习(一) Ext.data.Model
- 迟迟开始学习的网络编程,C语言客户端服务端,python客户端服务端和mini木马
- libcurl基本知识及实现post请求实例
- TypeScript函数类型
- 【剑指offer】把数组排成最小的数
- web6.CSS
- 求无向简单图的割点与割线的问题(邻接矩阵)
- 单例模式
- vb.net 教程 5-15 图像处理之内存处理 5