(function () {//页面加载完之后会自动执行这个函数
//自定义一个验证器
Ext.apply(Ext.data.validations,{
age:function (config,value) {
if (value === undefined || value === null) {
return false
}
var size = value,
min = config.min,
max = config.max
if ((min && size < min) || (max && size > max)) {
return false
} else {
return true
}
},
ageMessage:'age is not correct'
})
//定义一个model,相当于java中类的概念
Ext.define('Person', {
extend: 'Ext.data.Model',
fields: [
{name: 'name', type: 'string'},
{name: 'age', type: 'int'}
],
validations:[
{type:'length',field:'name',min:2,max:3},
{type:'age',field:'age',min:0,max:100}
],
changeName: function () {
var oldName = this.get('name'),
newName = oldName + " The Barbarian"
this.set('name', newName)
}
})
//第一种创建方式
var p = Ext.create('Person', {
name: 'tom',
age: 17
})
//第二种创建方式
var p2 = Ext.ModelManager.create({
name: 'tom',
age: 17
},'Person')
//当验证不通过时,会返回一个Errors的集合
var errors=p.validate()
errors.each(function (error) {
console.log(error.field+' '+error.message+'\n')
})
})()