extjs 4 学习小结4
1 EXT JS 4的数据模型分为三类
1) 实体模型 model
2) 数据代理 proxy,用来处理数据的读取和保存,通过AJAX代理获得服务端的数据
3) 数据读写器:Reader,Writer,用来读原始的数据到MODEL中。
4)数据集:store,保存MODEL对象的客户端缓存,提供了对数据的过滤,排序,查找功能。
2)EXT.DATA.MODEL,前身为EXT 3中的ext.data.record类,进行了增强;
模型分为 fields:字段定义,proxy:数据代理,associations:模型管理 Validations:数据校验。
3)基本数据模型
Ext.onReady(function(){
//注册用户数据模型User
Ext.regModel('User', {
fields: [//定义模型字段
{name: 'name', type: 'string'},
{name: 'age', type: 'int'},
{name: 'phone', type: 'string'}
]
});
//创建User模型的实体对象
var user = Ext.ModelMgr.create({
name : 'tom',
age : 24,
phone: '555-555-5555'
}, 'User');
//获取员工姓名
alert(user.get('name'));
});
4)ext.validations
Ext.onReady(function(){
//定义默认的验证提示信息
Ext.data.validations.presenceMessage = '必须是有效值。';
Ext.data.validations.lengthMessage = '长度错误。';
Ext.data.validations.formatMessage = '格式错误。';
Ext.data.validations.inclusionMessage = '没有包括在可接受的数据中。';
Ext.data.validations.exclusionMessage = '不是可接受的值。';
//自定义数值范围验证
Ext.apply(Ext.data.validations,{
number : function(config, value){
if (value === undefined) {
return false;
}
var min = config.min,
max = config.max;
if ((min && value < min) || (max && value > max)) {
return false;
} else {
return true;
}
},
numberMessage : '数值范围错误。'
});
//注册用户数据模型User
Ext.regModel('User', {
fields: [//定义模型字段
{name: 'name', type: 'string'},
{name: 'age', type: 'int'},
{name: 'phone', type: 'string'},
{name: 'gender', type: 'string'},
{name: 'username', type: 'string'},
{name: 'alive', type: 'boolean', defaultValue: true}
],
validations: [
{type: 'presence', field: 'age'},
{type: 'number', field: 'age', min : 30},
{type: 'length', field: 'name', min: 2},
{type: 'inclusion', field: 'gender', list: ['男', '女']},
&nb