《PHP實(shí)例:thinkPHP實(shí)現(xiàn)表單自動(dòng)驗(yàn)證》要點(diǎn):
本文介紹了PHP實(shí)例:thinkPHP實(shí)現(xiàn)表單自動(dòng)驗(yàn)證,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
PHP實(shí)例昨天晚上我們老大叫我弄表單自動(dòng)驗(yàn)證功能,愁了半天借鑒了好多官網(wǎng)的知識(shí),才出來(lái),誒,總之分享一下我自己的成果吧!
PHP實(shí)例thinkphp 在Model基類(lèi)為我們定義了自動(dòng)驗(yàn)證的函數(shù)和正則表達(dá)式,我們只需要在對(duì)應(yīng)的數(shù)據(jù)庫(kù)表的模型類(lèi)下建立$_validate屬性就可以了.
PHP實(shí)例1、我們找到Model基類(lèi),可以看到 protected $_validate?????? = array();? // 自動(dòng)驗(yàn)證定,它是數(shù)組類(lèi)型的,下面在對(duì)應(yīng)數(shù)據(jù)模型文件定義它;
PHP實(shí)例2、
PHP實(shí)例?? if (md5($verify) != Session::get('verify')) return false;
??????? return true;
}
//自動(dòng)驗(yàn)證
PHP實(shí)例3、格式說(shuō)明:array(驗(yàn)證字段,驗(yàn)證規(guī)則,錯(cuò)誤提示,驗(yàn)證條件,附加規(guī)則,驗(yàn)證時(shí)間),
PHP實(shí)例4、參數(shù)解釋?zhuān)?/p>
PHP實(shí)例驗(yàn)證字段:需要驗(yàn)證的表單字段名稱(chēng),這個(gè)字段不一定是數(shù)據(jù)庫(kù)字段,也可以是表單的一些輔助字段,例如確認(rèn)密碼和驗(yàn)證碼等等.
驗(yàn)證規(guī)則: 要進(jìn)行驗(yàn)證的規(guī)則,需要結(jié)合附加規(guī)則(必須),官方已經(jīng)包含的規(guī)則如下(自己同時(shí)也可以加):
PHP實(shí)例提示信息: 用于驗(yàn)證失敗后的提示信息定義(必須)、
驗(yàn)證條件:(可選)
驗(yàn)證條件的規(guī)則有三條:
Model::EXISTS_TO_VAILIDATE 或者0 存在字段就驗(yàn)證 (默認(rèn))
Model::MUST_TO_VALIDATE 或者1 必須驗(yàn)證
Model::VALUE_TO_VAILIDATE或者2 值不為空的時(shí)候驗(yàn)證
附加規(guī)則:
regex 正則驗(yàn)證,說(shuō)明前面的那個(gè)驗(yàn)證規(guī)則是一個(gè)正則表達(dá)式;
function 使用函數(shù)驗(yàn)證,說(shuō)明前面的那個(gè)驗(yàn)證是個(gè)函數(shù)名;
callback 使用方法驗(yàn)證,說(shuō)明驗(yàn)證規(guī)則是一個(gè)Model類(lèi)的方法;
confirm 驗(yàn)證表單中的兩個(gè)字段是否相等,驗(yàn)證規(guī)則是一個(gè)字段名;
equal 驗(yàn)證是否等于某個(gè)值,這個(gè)值是有前面的驗(yàn)證規(guī)則定義的;
in 驗(yàn)證是否在某個(gè)范圍之內(nèi),前面定義的是一個(gè)數(shù)組;
unique 驗(yàn)證是否唯一,系統(tǒng)會(huì)根據(jù)字段目前的值查詢(xún)數(shù)據(jù)庫(kù)來(lái)判斷時(shí)候存在相同的值;
同時(shí),系統(tǒng)還內(nèi)置了一些常用的正則驗(yàn)證規(guī)則,可以這節(jié)使用,包括:require字段必須,email 郵箱;
currency 貨幣,number 數(shù)字,這些驗(yàn)證規(guī)則可以直接使用;
PHP實(shí)例驗(yàn)證時(shí)間:(可選)
PHP實(shí)例01.Model:: MODEL_INSERT 或者1新增數(shù)據(jù)時(shí)候驗(yàn)證
02.Model:: MODEL_UPDATE 或者2編輯數(shù)據(jù)時(shí)候驗(yàn)證
03.Model:: MODEL_BOTH 或者3 全部情況下驗(yàn)證(默認(rèn))
PHP實(shí)例5、官方示例:
PHP實(shí)例??? 也不知道符合我們老大的要求不,總之還算是出來(lái)了,好辛苦啊!!? 大晚上的找代碼,找案例,求撫慰!!
歡迎參與《PHP實(shí)例:thinkPHP實(shí)現(xiàn)表單自動(dòng)驗(yàn)證》討論,分享您的想法,維易PHP學(xué)院為您提供專(zhuān)業(yè)教程。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/13200.html