[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 中使用不同类型的图表并使用一个名为费用分析的示例项目结束本章所学.以下是将要所学的内容: 图表类型 条形图 和 柱形图 图 ...
随机推荐
- C语言可变参数宏及‘##’在可变参数中的作用
测试代码及解释: #include <stdio.h> #define PRINT(x) printf x #define SECONDPRINT(fmt,arg...) printf(f ...
- ny37 回文字符串
回文字符串 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba".当 ...
- 三、为什么String在Java中是不可更改的
String在Java中是个不可更改的类.一个不可更改的类简单来说就是这个类的所有实例是不可以更改的.所有的实例信息在创建的时候被初始化而且信息是不可以更改的.不可更改的类有很多好处.这篇文章总结了为 ...
- Build IKAnalyzer With Solr 5.1.0
中文分詞裡IKAnalyzer和結巴是大家比較常用的分詞器, 不過IKAnalyzer已經很久沒有更新了, IKAnalyzer中文分词器V2012使用手册也跟IK Analyer 2012-FF H ...
- js 三元表达式
JavaScript三元运算符的多种使用技巧 发现代码慢慢写多了的时候会不自觉的将if else 用 三元来替代,仅仅是未了让代码更简洁精辟,当然也有人说用三元可以让你有高潮的感觉.最近在写js 的时 ...
- LeetCode: Longest Consecutive Sequence 解题报告
Longest Consecutive Sequence Given an unsorted array of integers, find the length of the longest con ...
- Ubuntu 16.04和win10双系统时间不一致解决办法
windows10和ubuntu16.04双系统,装完后,在windows下时间不对,之前的老办法是: sudo gedit /etc/default/rcS 2 utc=yes 改成utc=no 然 ...
- iOS拦截导航栏返回按钮事件的正确方式(二)
当我们使用了系统的导航栏时,默认点击返回按钮是 pop 回上一个界面.但是在有时候,我们需要在点击导航栏的返回按钮时不一定要 pop 回上一界面,比如一个视频播放界面,进入横屏后,默认点击返回按钮仍然 ...
- linux搭建git服务器
服务端配置 1.安装git 2.新建一个用户,只能用来上传代码,而不能通过ssh登录,比如git用户 adduser git chsh -s $(command -v git-shell) git 使 ...
- 传智播客《巴巴运动网视频教程(11-106)》avi格式以及兴许44集视频包括所有源码和资源
(1)网上找巴巴运动网代码资源的时候找了非常久 基本上都是须要各种积分的 最终找到了一个不须要积分的推荐给大家.(支持迅雷下载) (2)兴许44集的jar包和项目文档等下载地址! watermark/ ...