thinkPHP中的三大自動_PHP教程

來源:互聯網
上載者:User

thinkPHP中的三大自動


class UserModel extends Model{
protected $_validate=array(

//下面還需要再寫數組。一個數組就是一條驗證規則
//array('驗證欄位','驗證規則','錯誤提示','驗證條件','附加規則','驗證時間'),
//驗證欄位:需要驗證的表單欄位名稱,也可以表單當中的一些輔助欄位,例如驗證碼,附加碼,重複密碼等
//驗證規則,驗證規則必須要結合附加規則一起使用
//錯誤提示:如果出現錯誤,拋出一個什麼樣的錯誤提示告知使用者
//驗證條件:0,1,2()
//附加規則:
// regex 使肜正則進行驗證 可以自己在驗證規則當中寫一個正則表達示(第一上兄弟連論壇下載高老師的正則視頻,
//第二,thinkphp功能強勁他為我們封了一些正則,第三,網上已為了準備了一些常用正則)
// function 使用函數進行驗證,前面驗證規則這個地方必須要寫函數名time
// callback 是一個回調 他會去找當前UserModel當中的一個成員方法
// confirm 驗證表單當中的兩個欄位是否相等。
// equal 驗主下是否等於某個值
// in 是否在某一個範圍內 驗證規則當中需要寫上一個數組
// unique 驗證是否唯一,系統會要據欄位目前的值查詢資料庫來判斷是否有相同的值
//
// 如果用系統內建的一些常用正則,只需要寫到錯誤提示即可,
// require 欄位必須驗證 email驗證郵箱 url是驗證url地址的 currency貨幣 number數字
// 驗證時間: 是指資料庫操作時間的驗證時機
// 1新增資料的時候進行驗證 Model::MODEL_INSERT
// 2 編輯的時候才進行驗證 Model::MODEL_UPDATE
// 3 全部情況下驗證 Model::MODEL_BOTH
//
array("user_name","require","使用者名稱必須要填寫!"),
array("user_name","6,12","使用者名稱必須在6到12位之間",0,"length"),
array("real_name","require","需要填寫真實的姓名!"),
array("password","require","密碼必須要填!"),
array("password","8,12","密碼必須在8到12位之間",0,"length"),
array("rePassword","require","重複密碼必須要填寫!"),
array("password","rePassword","兩次輸入的密碼不一致",0,"confirm"),
array("email","require","郵箱必須要填寫"),
array("email","email","郵箱格式錯誤!",1),
array("verify","require","驗證碼必須填"),
array("code","checkCode","驗證碼輸入錯誤",0,"callback"),
);


protected $_auto=array(

//array('填充欄位','填充內容','填充條件','附加規則');
//填充欄位: 這個欄位可以是表單當中的欄位,也可以是資料庫當中的欄位。也可以是一些輔助欄位
//填充內容,配合附加規則一同使用
//填充條件, 1,2,3分別對應新增、編輯和所有情況下 Model::MODEL_INSERT (預設參數為新增的時候進行填充)
// 附加規則, function callback, field(用其它欄位來填充),表示此處可以拿到其他欄位的一個值
// string , 字串來填充。這一項,是thinkphp自動完成裡面的預設選項

array("password","md5",3,"function"),
array("age","deal_int",3,"callback"),
);


protected $_map=array(
"username"=>"user_name", //不同的thinkPHP的版本可能會有差別,注意和$_validate中的欄位對應
"realname"=>"real_name", //'是要在表單當中的欄位寫在前面'=>'是寫到後面,資料表當中的真實欄位寫到後面',
);

protected function deal_int($data){
return (int)$data;
}
protected function checkCode($data){
if(md5($_POST['code'])!=$_SESSION['verify']){
return false;
}
return true;
}
}

http://www.bkjia.com/PHPjc/847861.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/847861.htmlTechArticlethinkPHP中的三大自動 class UserModel extends Model{ protected $_validate=array( //下面還需要再寫數組。一個數組就是一條驗證規則 //array('驗證欄位','驗...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.