Model代表应用程序管理的一些对象。例如,我们可能会为 我们想在系统中建模的现实世界中的一些物体像使用者、产品和汽车等定义一个Model。这些Model在 Ext.ModelManager中注册,被Ext.data.Store使用, 而这些Ext.data.Store又被许多 Ext中许多与数据绑定的组件使用.
直接上代码:
<%-- Created by IntelliJ IDEA. User: Administrator Date: 2015/12/13 0013 Time: 08:51 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <jsp:include page="resource.jsp"></jsp:include> <title>Ext数据模型Ext.data.Model</title> </head> <body> <script type="text/javascript"> Ext.onReady(function(){ // Ext.Msg.alert('提示','确定要删除此文件吗?'); Ext.define("MyExt.User",{ extend:"Ext.data.Model", fields:[ {name: 'name', type: 'string'}, {name: 'age', type: 'int', convert: null}, {name: 'phone', type: 'string'}, {name: 'email', type: 'string'}, {name: 'alive', type: 'boolean', defaultValue: true, convert: null},//默认值
//转换器 {name:'birth',type:'date',convert:function(value,record){ if(Ext.isDate(value)){ return value; }else if(Ext.isString(value)){
//格式化 return Ext.Date.parse(value,'Y-m-d'); } }} ], validations:[ { field: 'phone', type: 'length', min: 8, max: 13}, { field: 'email', type: 'email'} ], //自定义方法 sayHello:function(msg){ Ext.Msg.alert('提示',msg); } }); var user = Ext.create('MyExt.User'); user.sayHello('Ext的数据模型'); //为指定字段重新赋值 user.set('name','小黄'); //获取指定字段的值 console.info(user.get("name")); console.info(user.get('alive'));//true //修改默认字段值的数据 user.set('alive',false); console.error(user.get('alive'));//false console.info('************数据转换开始**************') var user_2 = Ext.create('MyExt.User',{ name:'我靠,where is my future?', birth:'2032-12-12', phone:'213', email:'54353.com' }); console.info(user_2.get('birth')); //Sun Dec 12 2032 00:00:00 GMT+0800 (中国标准时间) /** * 验证电话 validations */ //长度错误 Ext.data.validations.lengthMessage = "长度错误"; Ext.data.validations.emailMessage="邮箱格式错误!"; var validMsg= user_2.validate(); var msgs=[]; if(!validMsg.isValid()){ validMsg.each(function(msg){ msgs.push(msg.field+'字段验证信息:'+msg.message); }); } Ext.Msg.alert('提示',msgs.join('<br/>')); }); </script> </body> </html>
更多请参考: