欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          詳解ThinkPHP中自動驗證及驗證規(guī)則

          本篇文章詳細介紹了thinkphp中自動驗證及驗證規(guī)則的方法,希望對學(xué)習(xí)thinkphp的朋友有幫助!

          詳解ThinkPHP中自動驗證及驗證規(guī)則

          詳解ThinkPHP中自動驗證及驗證規(guī)則

          ThinkPHP 內(nèi)置了數(shù)據(jù)對象的自動驗證功能來完成模型的業(yè)務(wù)規(guī)則驗證。自動驗證是基于數(shù)據(jù)對象的,而大多情況下數(shù)據(jù)對象是基于 $_POST表單 (不是絕對的)創(chuàng)建的。

          基本的自動驗證功能包括:必須字段、email郵箱格式、唯一性、URL地址、數(shù)字、兩個字段是否相同、是否等于某個值等。

          要使用系統(tǒng)的自動驗證功能,只需要在對應(yīng)的 Model類 里面定義 $_validate 屬性(由多個驗證因子組成的數(shù)組),語法如下:

          protected $_validate = array(     array(驗證字段,驗證規(guī)則,錯誤提示[,驗證條件][,附加規(guī)則][,驗證時間]) };

          (推薦教程:thinkphp教程)

          ThinkPHP自動驗證格式說明:
          驗證因子 說明
          驗證字段 必須。需要驗證的表單字段名稱,這個字段不一定是數(shù)據(jù)庫字段,也可以是表單的一些輔助字段,例如驗證碼等。
          驗證規(guī)則 必須。要進行驗證的規(guī)則,需要聯(lián)合附加規(guī)則一起使用。
          錯誤提示 必須。當(dāng)驗證不通過時的提示信息。
          驗證條件 可選。包括:

          1. Model::EXISTS_TO_VAILIDATE 或者 0 :存在字段就驗證(默認)
          2. Model::MUST_TO_VALIDATE 或者 1 :必須驗證
          3. Model::VALUE_TO_VAILIDATE 或者 2 :值不為空的時候驗證
          附加規(guī)則 可選。配合驗證規(guī)則使用,包括:

          1. regex:使用正則進行驗證,表示前面定義的驗證規(guī)則是一個正則表達式(默認)
          2. unique:驗證唯一性,系統(tǒng)會根據(jù)字段目前的值查詢數(shù)據(jù)庫來判斷是否存在相同的值
          3. confirm:驗證表單中的兩個字段是否相同,前面定義的驗證規(guī)則是一個字段名
          4. equal:驗證是否等于某個值,該值由前面的驗證規(guī)則定義
          5. in:驗證是否在某個范圍內(nèi),前面定義的驗證規(guī)則必須是一個數(shù)組
          6. function:使用函數(shù)驗證,表示前面定義的驗證規(guī)則是一個函數(shù)名
          7. callback:使用方法驗證,前面定義的驗證規(guī)則是當(dāng)前 Model 類的一個方法
          驗證時間 可選。包括:

          1. Model:: MODEL_INSERT 或者 1 :新增數(shù)據(jù)時候驗證
          2. Model:: MODEL_UPDATE 或者 2 :編輯數(shù)據(jù)時候驗證
          3. Model:: MODEL_BOTH 或者 3 :全部情況下驗證(默認)

          自動驗證例子

          下面的例子驗證文章標(biāo)題必須填寫且檢測標(biāo)題是否已存在:

          class ArticleModel extends Model{     protected $_validate = array(         array('title','require','標(biāo)題不能為空!'),         array('title','','標(biāo)題已經(jīng)存在!',0,'unique',1),     }; }

          在操作中,當(dāng)使用 create 方法創(chuàng)建數(shù)據(jù)對象時會自動進行數(shù)據(jù)驗證操作(當(dāng) POST 提交表單處理時):

          $Article = D("Article"); if (!$Article->create()){     // 如果創(chuàng)建失敗,表示驗證沒有通過(注:可能原因之一)輸出錯誤提示信息     exit($Article->getError()); }else{     // 驗證通過,繼續(xù)下一步流程如將數(shù)據(jù)寫入數(shù)據(jù)表 }

          系統(tǒng)內(nèi)置了一些常用正則驗證的規(guī)則,包括:require(必須)、email(郵箱格式)、url(URL地址)、currency(貨幣)、number(數(shù)字)、qq(QQ號碼)、english(英文字符),可以直接使用。

          出于用戶體驗考慮,$Article->getError() 返回的錯誤提示信息,一般以 Ajax 方式返回,詳細參見《ThinkPHP Ajax》。

          定義自己的驗證規(guī)則

          當(dāng)內(nèi)置的這些驗證規(guī)則無法滿足驗證要求是,可以定義自己的驗證規(guī)則,如要求出生年月以 2000-1-1 格式輸入時:

          array('birthday','/^d{4}-d{1,2}-d{1,2}$/','出生年月格式錯誤!'),

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號