[ExtJs] ExtJs4.2 数据模型Ext.data.Model学习
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>
更多请参考:
ExtJS 4.2教程-04:数据模型
[ExtJs] ExtJs4.2 数据模型Ext.data.Model学习的更多相关文章
- ExtJs Ext.data.Model 学习笔记
Using a Proxy Ext.define('User', { extend: 'Ext.data.Model', fields: ['id', 'name', 'email'], proxy: ...
- ExtJS笔记 Ext.data.Model
A Model represents some object that your application manages. For example, one might define a Model ...
- ExtJS教程(5)---Ext.data.Model之高级应用
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/jaune161/article/details/37391399 1.Model的数据验证 这里借助 ...
- HBase 数据模型(Data Model)
HBase Data Model--HBase 数据模型(翻译) 在HBase中,数据是存储在有行有列的表格中.这是与关系型数据库重复的术语,并不是有用的类比.相反,HBase可以被认为是一个多维度的 ...
- EXtJS Ext.data.Model
(一).首先我们介绍一下Model类中比较常用的几个属性,如果我们想构建一个Model类,最主要的属性就是(Fields)属性,这个属性接受一个数组.用来设置Model中所包含的字段.定义的格式如下: ...
- Extjs 项目中常用的小技巧,也许你用得着(5)--设置 Ext.data.Store 传参的请求方式
1.extjs 给怎么给panel设背景色 设置bodyStyle:'background:#ffc;padding:10px;', var resultsPanel = Ext.create('Ex ...
- ExtJS笔记 Ext.data.Types
This is a static class containing the system-supplied data types which may be given to a Field. Type ...
- 设置 Ext.data.Store 传参的请求方式
设置 Ext.data.Store 传参的请求方式 1.extjs 给怎么给panel设背景色 设置bodyStyle:'background:#ffc;padding:10px;', var res ...
- Ext JS 6学习文档-第7章-图表
Ext JS 6学习文档-第7章-图表 使用图表 本章中将探索在 ExtJS 中使用不同类型的图表并使用一个名为费用分析的示例项目结束本章所学.以下是将要所学的内容: 图表类型 条形图 和 柱形图 图 ...
随机推荐
- [转帖]Cocos2d-x 3.0rc0 的Win32工程添加CocoStudio库
转自 http://www.cocoachina.com/bbs/read.php?tid=194668 前天, 在CocoaChina 2014春季大会上, 激动人心的Cocos2d-x 3.0和C ...
- 关于一个页面的tab切换整体页面刷新而tab标签处是同一个文件怎么做焦点的问题
解决方法,不能直接写点击效果就要在超链接中加一个参数,根据参数的值去给变焦点的效果,实现方法如下: <div class="vip_search"> ...
- Linux 目录容量查询和文件打包,清空
查看使用情况 [root@instance-0yj8cprg ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 20G 4. ...
- 【Unity笔记】摄像机、图片的模糊处理
重要的参考: http://www.imooc.com/video/7303 摄像机模糊 http://www.xuanyusong.com/archives/3541 http://www.cnbl ...
- [uart]2.tty和uart的函数调用流程
以下是在include/uapi/linux/tty.h中定义了现有的线规号,如果需要定义新的,则需要在后面添加新的 /* line disciplines */ #define N_TTY 0 #d ...
- linux 中常用的一些头文件
#include <linux/***.h> 是在linux-2.6.29/include/linux下面寻找源文件. #include <asm/***.h> 是在linux ...
- JavaScrip——DOM操作(属性操作)
Attribute a.setAttribute("属性名","属性值")——设置属性 a.getSttribute("属性名")——获取属 ...
- linux 内核参数调整优化网络
Linux系统内核设置优化tcp网络,# vi /etc/sysctl.conf,添加以下内容 net.ipv4.tcp_syncookies = 1 表示开启SYN Cookies.当出现SYN等待 ...
- CMake 用法导览
Preface : 本文是CMake官方文档CMake Tutorial (http://www.cmake.org/cmake/help/cmake_tutorial.html) 的翻译.通过一个样 ...
- Nginx下轻松开启Drupal简洁链接
大家都知道Drupal在apache环境下使用简洁链接是件很轻松的事,因为官方已经把写好的.htaccess文件附在源代码里,一般在配置里直接就可以打开了.但在Nginx下却没有那么简单,但不用担心, ...