真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

thinkphp自動(dòng)驗(yàn)證學(xué)習(xí)-創(chuàng)新互聯(lián)

@ php 學(xué)習(xí) thinkphp 驗(yàn)證

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),河南企業(yè)網(wǎng)站建設(shè),河南品牌網(wǎng)站建設(shè),網(wǎng)站定制,河南網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,河南網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

1,在thinkphp 中可以對(duì)create創(chuàng)建的數(shù)據(jù)對(duì)象進(jìn)行驗(yàn)證 ,一般有兩種驗(yàn)證方式: 靜態(tài)驗(yàn)證,動(dòng)態(tài)驗(yàn)證

  1.1,靜態(tài)驗(yàn)證: 在模型類里面通過$_validate屬性定義驗(yàn)證規(guī)則

   (1)驗(yàn)證格式:

     array(                      array(驗(yàn)證字段1,驗(yàn)證規(guī)則,錯(cuò)誤提示,[驗(yàn)證條件,附加規(guī)則,驗(yàn)證時(shí)間]),           )

     1,驗(yàn)證字段: 為數(shù)據(jù)表里的字段,同時(shí)也可以其他表單輔助字段,并且可以自定義并將自定義的字段映射到數(shù)據(jù)表的字段名

      如:

       Class UserModel extends Model             {                protected $_map = array(                       'name' =>'username', // 把表單中name映射到數(shù)據(jù)表的username字段                       'mail'  =>'email', // 把表單中的mail映射到數(shù)據(jù)表的email字段                );             }

     2,驗(yàn)證規(guī)則: 系統(tǒng)還內(nèi)置了一些常用正則驗(yàn)證的規(guī)則 有require (字段必填),email(郵箱格式),

                url(url格式),currency(貨幣),number (正整數(shù))  ,integer(整數(shù)),double(浮點(diǎn)

               數(shù)),zip(郵政編碼),english(英文),并且這些規(guī)則默認(rèn)附加規(guī)則是regex, 還有正

                則表達(dá)式驗(yàn)證規(guī)則,但需要自定義設(shè)定好

     3,錯(cuò)誤提示: 自定義

     4,驗(yàn)證條件:

       包含下面幾種情況:

self::EXISTS_VALIDATE 或者0 存在字段就驗(yàn)證(默認(rèn))

self::MUST_VALIDATE 或者1 必須驗(yàn)證

self::VALUE_VALIDATE或者2 值不為空的時(shí)候驗(yàn)證

     5,附加條件: 參考手冊(cè) ,其中function 和callback 兩種附加條件

       5.1 callback 附加規(guī)則 ,其定義的驗(yàn)證規(guī)則為callback 方法的名字,附加規(guī)則為callback

       如下例:

       array(驗(yàn)證字段1,checkLength,錯(cuò)誤提示,[驗(yàn)證條件,callback,驗(yàn)證時(shí)間,callback函數(shù)的參數(shù)]),其中checkLength中的$min ,$max 的實(shí)參可以定義為 array(3,5)。為$min 傳的值為3,$max傳的值為5

                protected function checkLength ($str,$min,$max)                    {                  preg_match_all("/./u",$str,$matches);                  $len = count($matches[0]);                  if($len<$min || $len>$max){                      return false;                  }else{                    return true;                  }                   }

        5.1 function 附加規(guī)則是相對(duì)與callback附加規(guī)則一樣,只是將定義的規(guī)則方法,放在

           Common 文件下Conmon文件夾建立function.php文件,后會(huì)自定調(diào)用此規(guī)則。

      6,驗(yàn)證時(shí)間:

              self::MODEL_INSERT或者1新增數(shù)據(jù)時(shí)候驗(yàn)證

  self::MODEL_UPDATE或者2編輯數(shù)據(jù)時(shí)候驗(yàn)證

  self::MODEL_BOTH或者3全部情況下驗(yàn)證(默認(rèn))

     7 ,多字段驗(yàn)證:

  在UserModel類中增加 :protected $patchValidate = true;

  (2)靜態(tài)驗(yàn)證完整格式

         public  UserModel extends Model          {      protected $_validate = array(           array('verify','require','驗(yàn)證碼必須!'), //默認(rèn)情況下用正則進(jìn)行驗(yàn)證                    array('name','','帳號(hào)名稱已經(jīng)存在!',0,'unique',1), // 在新增的時(shí)候驗(yàn)證name字段是否唯一                 array('password','checkPwd','密碼格式不正確',0,'function'), // 自定義函數(shù)驗(yàn)證密碼格式   );          }

   根據(jù)model定義好驗(yàn)證規(guī)則后,就可以在使用create方法創(chuàng)建數(shù)據(jù)對(duì)象的時(shí)候自動(dòng)調(diào)用

            public UserController extends Controller            {              public function add ()             {    //判斷是由post 上傳的數(shù)據(jù)            if(IS_POST){               if (!$User->create()){                    // 如果創(chuàng)建失敗 表示驗(yàn)證沒有通過 輸出錯(cuò)誤提示信息                      exit($User->getError());                 }else{                      // 驗(yàn)證通過 可以進(jìn)行其他數(shù)據(jù)操作                 }            }              }           }

  1.2,動(dòng)態(tài)驗(yàn)證: 使用模型類的validate方法動(dòng)態(tài)創(chuàng)建自動(dòng)驗(yàn)證規(guī)則

    在UserController 類的方法中定義

         $rules = array(                             array('verify','require','驗(yàn)證碼必須!'), //默認(rèn)情況下用正則進(jìn)行驗(yàn)證                  );          $User = M("User"); // 實(shí)例化User對(duì)象          if (!$User->validate($rules)->create())          {               // 如果創(chuàng)建失敗 表示驗(yàn)證沒有通過 輸出錯(cuò)誤提示信息               exit($User->getError());            }else{                 // 驗(yàn)證通過 可以進(jìn)行其他數(shù)據(jù)操作                 }

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


當(dāng)前題目:thinkphp自動(dòng)驗(yàn)證學(xué)習(xí)-創(chuàng)新互聯(lián)
轉(zhuǎn)載來于:http://weahome.cn/article/dcgshh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部