您好,登錄后才能下訂單哦!
這篇文章給大家介紹ThinkPHP的三大自動(dòng)簡(jiǎn)介詳文,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
一、自動(dòng)驗(yàn)證
格式如下:
array('驗(yàn)證字段','驗(yàn)證規(guī)則','錯(cuò)誤提示','驗(yàn)證條件','附加規(guī)則','驗(yàn)證時(shí)間')
參數(shù)說(shuō)明:
驗(yàn)證字段:需要驗(yàn)證表單字段名稱
驗(yàn)證規(guī)則:必須要結(jié)合附加規(guī)則一起使用
錯(cuò)誤提示:如果出現(xiàn)錯(cuò)誤,拋出一個(gè)什么樣的錯(cuò)誤提示告知用戶
驗(yàn)證條件:0、1、2
附加規(guī)則:1、regex使用正則驗(yàn)證 2、function使用函數(shù)驗(yàn)證 3、callback回調(diào) 4、confirm驗(yàn)證表單當(dāng)中兩個(gè)字段是否相同 5、驗(yàn)證是否等于某個(gè)值 6、in是否在某一個(gè)范圍內(nèi) 7、驗(yàn)證是否唯一
TP封裝:require 字段必須驗(yàn)證;eamil 驗(yàn)證郵箱;url 驗(yàn)證url地址;currency 貨幣;number 數(shù)字;
驗(yàn)證時(shí)間:指數(shù)據(jù)庫(kù)操作時(shí)間的驗(yàn)證時(shí)機(jī),新增數(shù)據(jù)時(shí)驗(yàn)證Model::MODEL_INSERT;編輯的時(shí)候驗(yàn)證Model::MODEL_UPDATE;全部情況下驗(yàn)證Model::MODEL_BOTH;
aoli/Home/Tpl/default/User/reg.html頁(yè)面如下:
<form action="__URL__/regadd" method="post"> 用戶名:<input type="text" name="username" /><br /> 密碼:<input type="password" name="password" /><br /> 重復(fù)密碼:<input type="password" name="repassword" /><br /> 注冊(cè)時(shí)間:<input type="text" name="createtime" /><br /> 注冊(cè)IP:<input type="text" name="createip" /><br /> <input type="submit" value="注冊(cè)" /> </form>
aoli/Home/Lib/Model/UserModel.class.php頁(yè)面如下:
<?php class UserModel extends Model{//對(duì)應(yīng)數(shù)據(jù)庫(kù)中的表user protected $_validate=array( array('username','require','用戶名必填'), array('username','checklen','用戶名長(zhǎng)度過(guò)長(zhǎng)或過(guò)短',0,'callback'), array('password','require','密碼必填'), array('repassword','require','重復(fù)密碼必填'), array('password','repassword','兩次密碼不一致',0,'confirm'), array('createtime','number','您輸入的不是數(shù)字'), array('createip','email','郵箱格式不正確'), ); function checklen($data){ if(strlen($data)>15 || strlen($data)<5){ return false; }else{ return true; } } } ?>
aoli/Home/Lib/Action/UserAction.class.php頁(yè)面如下:
<?php class UserAction extends Action { function reg(){ $this->display(); } function regadd(){ $user=D('user'); if($user->create()){ if($user->add()){ $this->success('注冊(cè)成功'); }else{ $this->error('注冊(cè)失敗'); } }else{ $this->error($user->getError()); } } } ?>
二、自動(dòng)完成(自動(dòng)填充)
自動(dòng)完成也是ThinkPHP當(dāng)中的一個(gè)成員方法,在create的時(shí)候,自動(dòng)執(zhí)行
規(guī)則如下:
array('填充字段','填充內(nèi)容','填充條件','附加規(guī)則');
簡(jiǎn)單示例如下:
protected $_auto = array ( //array( 'status','1'), // 新增的時(shí)候把 status 字段設(shè)置為 1 array('password','md5',1,'function') , // 對(duì) password 字段在新增的時(shí)候使 md5 函數(shù)處理 array('createtime','time',3,'function' ), // 對(duì) create_time 字段在更新的時(shí)候?qū)懭氘?dāng)前時(shí)間戳 );
三、自動(dòng)映射(字段映射)
自動(dòng)映射:將數(shù)據(jù)庫(kù)的字段映射成別名,在表單中就可以使用別名了。
簡(jiǎn)單示例如下:
protected $_map = array( 'name' => 'username', 'pass' => 'password', );
關(guān)于ThinkPHP的三大自動(dòng)簡(jiǎn)介詳文就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。