自動完成,是在create資料的時候自動執行的乙個或多個動作
自動完成也分為動態和靜態兩種
格式://完成規則
array(
array(完成欄位1,完成規則,[完成條件,附加規則]),
array(完成欄位2,完成規則,[完成條件,附加規則]),
......
);完成字段:必填,需要的欄位名;
完成規則:必填,配合附加規則完成;
完成條件:可選,具體如下:
1.self::model_insert 或 1,新增資料的時候處理(預設) ;
2.self::model_update 或 2,更新資料的時候處理;
3.self::model_both 或 3,所有情況均處理。
附加規則:可選,配合完成規則使用,包括一下規則:
規則 說明
function 函式完成,定義的驗證規則是乙個函式名
callback 方法完成,定義的驗證規則是當前模型類的乙個方法
field 用其他字段填充,表示填充的內容是乙個其他欄位的值
string 字串(預設)
ignore 為空則忽略(3.1.2新增)
1.靜態定義
1在模型類裡預先定義好該模型的自動完成規則,就是靜態定義。
2class usermodel s extends
model
11為了測試方便,我們可以直接通過模擬提交 post:
12//
控制器create()方法自動呼叫驗證
13$user = d('user');
14$data['user'] = '蠟筆小新';
15if ($user->create($data
)) 18
//string,自動設定count欄位為1
19array('count', '1'),
20//
function,給密碼加密,加密型別為sha1,sha1函式php內建
21array('user', 'sha1', 3, 'function'),
22//
把email欄位的值填充到user欄位衝去
23array('user', 'email', 3, 'field'),
24//
callback,給使用者名稱加字首
25array('user', 'updateuser', 3, 'callback', '_'),
26//
**函式
27protected
function updateuser($str, $prefix
) 30
//ignore,用於修改時密碼留空時,忽略修改
31array('pass', '', 2, 'ignore'),
2.動態完成
1//動態完成
2$rules = array(3
array('user', 'sha1', 3, 'function'),4);
5$user = m('user');
6$data['user'] = '蠟筆小新';
7 f if ($user->auto($rules)->create($data
))
掌握Thinkphp3 2 0 自動驗證
自動驗證是tp在create資料的時候,自動對資料進行驗證。tp提供了兩種驗證方式 靜態驗證 validate屬性 自定義的模型的 和validate 方法 1.靜態驗證 validate屬性 總體的格式 1 2namespace home model 3use think model 4class...
掌握Thinkphp3 2 0 標籤庫
1.什麼是內建標籤?什麼是標籤擴充套件庫?cx.class.php 和 html.class.php 2.怎麼載入非內建標籤,怎麼使用?兩種方式載入 3.怎麼擴充套件自定義的標籤?仿照html.class.php寫 仔細回答這3個問題 問題一 think library think template...
掌握Thinkphp3 2 0 模版基礎
我們將要學習一下 thinkphp 模版,thinkphp 內建了乙個基於 xml 的效能 卓越的模版引擎 thinktemplate,使用了動態編譯和快取技術,支援自定義標籤庫,其實我還體會不到其中的強大,慢慢體會吧 一 變數輸出 1.普通變數 控制器提供資料 1 給模版傳遞乙個變數 2 user...