bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

ThinkPHP中自動驗證及驗證規則

這篇文章將為大家詳細講解有關ThinkPHP中自動驗證及驗證規則,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

專注于為中小企業提供網站制作、成都做網站服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業泗陽免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了上千多家企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。

詳解ThinkPHP中自動驗證及驗證規則

ThinkPHP 內置了數據對象的自動驗證功能來完成模型的業務規則驗證。自動驗證是基于數據對象的,而大多情況下數據對象是基于 $_POST表單 (不是絕對的)創建的。

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

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

protected $_validate = array(
    array(驗證字段,驗證規則,錯誤提示[,驗證條件][,附加規則][,驗證時間])
};
ThinkPHP自動驗證格式說明:
驗證因子說明
驗證字段必須。需要驗證的表單字段名稱,這個字段不一定是數據庫字段,也可以是表單的一些輔助字段,例如驗證碼等。
驗證規則必須。要進行驗證的規則,需要聯合附加規則一起使用。
錯誤提示必須。當驗證不通過時的提示信息。
驗證條件可選。包括:
  1. Model::EXISTS_TO_VAILIDATE 或者 0 :存在字段就驗證(默認)

  2. Model::MUST_TO_VALIDATE 或者 1 :必須驗證

  3. Model::VALUE_TO_VAILIDATE 或者 2 :值不為空的時候驗證

附加規則可選。配合驗證規則使用,包括:
  1. regex:使用正則進行驗證,表示前面定義的驗證規則是一個正則表達式(默認)

  2. unique:驗證唯一性,系統會根據字段目前的值查詢數據庫來判斷是否存在相同的值

  3. confirm:驗證表單中的兩個字段是否相同,前面定義的驗證規則是一個字段名

  4. equal:驗證是否等于某個值,該值由前面的驗證規則定義

  5. in:驗證是否在某個范圍內,前面定義的驗證規則必須是一個數組

  6. function:使用函數驗證,表示前面定義的驗證規則是一個函數名

  7. callback:使用方法驗證,前面定義的驗證規則是當前 Model 類的一個方法

驗證時間可選。包括:
  1. Model:: MODEL_INSERT 或者 1 :新增數據時候驗證

  2. Model:: MODEL_UPDATE 或者 2 :編輯數據時候驗證

  3. Model:: MODEL_BOTH 或者 3 :全部情況下驗證(默認)

自動驗證例子

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

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

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

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

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

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

定義自己的驗證規則

當內置的這些驗證規則無法滿足驗證要求是,可以定義自己的驗證規則,如要求出生年月以 2000-1-1 格式輸入時:

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

關于“ThinkPHP中自動驗證及驗證規則”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

網站題目:ThinkPHP中自動驗證及驗證規則
文章鏈接:http://vcdvsql.cn/article40/pdeoeo.html

成都網站建設公司_創新互聯,為您提供App開發、搜索引擎優化、商城網站全網營銷推廣動態網站、建站公司

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設