ExtJS4.2學習 php版(五)

ExtJS使用model來表示現實世界中的模型 有點相似於數據庫的table Java的class 
php

Ext.define("User", {
				extend : "Ext.data.Model",
				fields : [
					{name : "name", type : "string"},
					{name : "age", type : "int", convert: null}
				],	
				
				changeName : function() {
					var oldName = this.get("name");
							newName = oldName + "ch";
							
					this.set("name", newName);	
				}
		});

ExtJS有三種方法建立model
ajax

var arn = Ext.create("User",{
			name : "sads",
			age : 26	
		});
		
                var arn = Ext.ModelManager.create({
			name : "sads",
			age : 26	
		},"User");
		
		var arn = new User({
			name : "sads",
			age : 26	
		});

model裏有validations屬性來驗證數據 數據庫

Ext.define("User", {
				extend : "Ext.data.Model",
				fields : [
					{name : "name", type : "string"},
					{name : "age", type : "int", convert: null}
				],	
				
				validations : [
					 {type: "length", field: "name", min: 2, max: 6 }
				],
				
				changeName : function() {
					var oldName = this.get("name");
							newName = oldName + "ch";
							
					this.set("name", newName);	
				}
		});
    		
		var arn = Ext.create("User",{
				name : "sadssads",
				age : 26	
		});
		
		var errors = arn.validate();
		errors.each(function(v){
				console.log(v);
		});

咱們能夠擴展Ext.data.validations增長驗證方法json

Ext.apply(Ext.data.validations,{
				age:function(config, value) {
					var min = config.min;
					var max = config.max;
					
					if(min <= value && value <= max) {
							return true;	
					}else{
							return false;	
					}
				},
				ageMessage: "age不正確"
		});

使用proxy代理獲值app

Ext.define("User", {
				extend : "Ext.data.Model",
				fields : [
					{name : "name", type : "string"},
					{name : "age", type : "int", convert: null}
				],	
				
				proxy : {
					type:"ajax",
					url:"user.php"
				},
				
				validations : [
					 {type: "length", field: "name", min: 2, max: 6 },
					 {type: "age", field : "age", min:10, max:60}
				],
				
				changeName : function() {
					var oldName = this.get("name");
							newName = oldName + "ch";
							
					this.set("name", newName);	
				}
		});
		
		var u = Ext.ModelManager.getModel("User");
		u.load(10, {
		    scope: this,
		    failure: function(record, operation) {
		        //do something if the load failed
		        //record is null
		    },
		    success: function(record, operation) {
		    	console.log(record);
		    },
		    callback: function(record, operation, success) {
		    }
		});

phpthis

     $arr = array(
	     "name" => "sads",
	      "age" => 12
     );

     $data = json_encode($arr);
     echo $data;
相關文章
相關標籤/搜索