国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
Yii框架表單模型和驗證用法,yii框架表單模型
首頁 後端開發(fā) php教程 Yii框架表單模型和驗證用法,yii框架表單模型_PHP教程

Yii框架表單模型和驗證用法,yii框架表單模型_PHP教程

Jul 12, 2016 am 08:50 AM
yii 驗證

Yii框架表單模型和驗證用法,yii框架表單模型

本文實例講述了Yii框架表單模型和驗證用法。分享給大家供大家參考,具體如下:

表單模型CFormModel絕大部分繼承CModelCModel,由于表模型數(shù)據(jù)不需要持久化,所以主要在驗證操作上。下面以框架腳手架生成的網(wǎng)站登錄為例說明表單模型。

//模型中的驗證規(guī)則
public function rules()
{
  return array(
    array('username, password', 'required'),
    array('rememberMe', 'boolean'),
    array('password', 'authenticate'),
  );
}

$model=new LoginForm;//創(chuàng)建一個登錄表單模型
$model->attributes=$_POST['LoginForm'];//傳入登錄數(shù)據(jù)
CModel->setAttributes($values,$safeOnly=true)//調(diào)用CModel的setter方法
//返回model中relues中定義的安全數(shù)據(jù),經(jīng)過下面的調(diào)用流程獲取一個驗證器集合
//每個驗證器由CValidator::createValidator($rule[1],$this,$rule[0],array_slice($rule,2))
CModel->getValidators()
->createValidators()
->rules()
CModel->validate();//遍歷驗證器執(zhí)行驗證

驗證器內(nèi)部實現(xiàn)

表單模型核心部分在驗證上,下面探討其實現(xiàn)方式。

YII框架中驗證以獨立組件集合的形式存在,CValidator是所有驗證器的基類。還是以登錄驗證為例。rules方法中包含required、boolean、authenticate三個驗證器

public static function createValidator($name,$object,$attributes,$params=array())
{
  if(is_string($attributes))
    $attributes=preg_split('/[\s,]+/',$attributes,-1,PREG_SPLIT_NO_EMPTY);
  if(isset($params['on']))
  {
    if(is_array($params['on']))
      $on=$params['on'];
    else
      $on=preg_split('/[\s,]+/',$params['on'],-1,PREG_SPLIT_NO_EMPTY);
  }
  else
    $on=array();
  if(method_exists($object,$name))
  {
    $validator=new CInlineValidator;
    $validator->attributes=$attributes;
    $validator->method=$name;
    if(isset($params['clientValidate']))
    {
      $validator->clientValidate=$params['clientValidate'];
      unset($params['clientValidate']);
    }
    $validator->params=$params;
    if(isset($params['skipOnError']))
      $validator->skipOnError=$params['skipOnError'];
  }
  else
  {
    $params['attributes']=$attributes;
    if(isset(self::$builtInValidators[$name]))
      $className=Yii::import(self::$builtInValidators[$name],true);
    else
      $className=Yii::import($name,true);
    $validator=new $className;
    foreach($params as $name=>$value)
      $validator->$name=$value;
  }
  $validator->on=empty($on) ? array() : array_combine($on,$on);
  return $validator;
}

創(chuàng)建驗證器流程

1、獲取屬性(array $attributes)和使用場景(array $on)
2、判斷驗證器是否存在model中,如果存在創(chuàng)建一個內(nèi)聯(lián)驗證器CInlineValidator,如果不存在,執(zhí)行第3步
3、如果驗證器是框架自帶的導(dǎo)入自帶驗證器,否則導(dǎo)入外部驗證器,然后實例化并賦值。

當(dāng)觸發(fā)validate()時候,可能產(chǎn)生的錯誤將被存儲在model中,可以通過調(diào)用 CModel::getErrors() 和CModel::getError() 提取這些錯誤信息

PS:小編在這里推薦一款本站的php格式化美化的排版工具幫助大家在以后的PHP程序設(shè)計中進(jìn)行代碼排版:

php代碼在線格式化美化工具:http://tools.jb51.net/code/phpformat

更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結(jié)》、《php優(yōu)秀開發(fā)框架總結(jié)》、《smarty模板入門基礎(chǔ)教程》、《php日期與時間用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對大家基于Yii框架的PHP程序設(shè)計有所幫助。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1133127.htmlTechArticleYii框架表單模型和驗證用法,yii框架表單模型 本文實例講述了Yii框架表單模型和驗證用法。分享給大家供大家參考,具體如下: 表單模型...
本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

微信好友輔助驗證解封的詳細(xì)方法 微信好友輔助驗證解封的詳細(xì)方法 Mar 25, 2024 pm 01:26 PM

1.打開微信進(jìn)入後,點選搜尋圖標(biāo),輸入微信團隊,點選下方的服務(wù)進(jìn)入。 2、進(jìn)入後,點選左下方的自助工具的選項。 3、點選後,在上方的選項內(nèi),點選解封/申訴輔助驗證的選項。

如何在PDF中驗證簽名 如何在PDF中驗證簽名 Feb 18, 2024 pm 05:33 PM

我們通常會接收到政府或其他機構(gòu)發(fā)送的PDF文件,有些文件有數(shù)位簽章。驗證簽名後,我們會看到SignatureValid訊息和一個綠色勾號。如果簽章未驗證,會顯示有效性未知。驗證簽名很重要,以下看看如何在PDF中進(jìn)行驗證。如何在PDF中驗證簽名驗證PDF格式的簽名使其更可信,文件更容易被接受。您可以透過以下方式驗證PDF文件中的簽名。在AdobeReader中開啟PDF右鍵點選簽名,然後選擇顯示簽名屬性點選顯示簽署者憑證按鈕從「信任」標(biāo)籤將簽名新增至「受信任的憑證」清單中點選驗證簽名以完成驗證讓

如何使用正規(guī)表示式驗證IFSC代碼? 如何使用正規(guī)表示式驗證IFSC代碼? Aug 26, 2023 pm 10:17 PM

印度金融系統(tǒng)代碼是縮寫。參與電子資金轉(zhuǎn)移系統(tǒng)的印度銀行分行由一個特殊的11位元字元代碼進(jìn)行識別。印度儲備銀行在網(wǎng)路交易中使用此代碼在銀行之間轉(zhuǎn)移資金。 IFSC程式碼分為兩個部分。銀行由前四個字元進(jìn)行標(biāo)識,而分行由最後六個字元進(jìn)行標(biāo)識。 NEFT(全國電子資金轉(zhuǎn)移)、RTGS(即時毛額結(jié)算)和IMPS(即時支付服務(wù))是一些需要IFSC代碼的電子交易。 Method使用正規(guī)表示式驗證IFSC程式碼的一些常見方法有:檢查長度是否正確。檢查前四個字元。 Checkthefifthcharacter.Che

golang中如何驗證輸入是否為全角字符 golang中如何驗證輸入是否為全角字符 Jun 25, 2023 pm 02:03 PM

在golang中,驗證輸入是否為全角字元需要用到Unicode編碼和rune類型。 Unicode編碼是一種將字元集中的每個字元分配一個唯一的數(shù)字碼位元的字元編碼標(biāo)準(zhǔn),其中包含了全角字元和半角字元。而rune類型是golang中用來表示Unicode字元的類型。第一步,需要將輸入轉(zhuǎn)換為rune類型的切片。這可以透過使用golang的[]rune類型來轉(zhuǎn)換,例如

PHP 8 新功能:增加了驗證和簽名 PHP 8 新功能:增加了驗證和簽名 Mar 27, 2024 am 08:21 AM

PHP8是PHP的最新版本,為程式設(shè)計師帶來了更多的便利性和功能。這個版本特別關(guān)注安全性和效能,其中一個值得注意的新功能是增加了驗證和簽章功能。在本文中,我們將深入了解這些新的功能及其用途。驗證和簽名是電腦科學(xué)中非常重要的安全概念。它們通常用於確保傳輸?shù)臄?shù)據(jù)是完整和真實的。在處理線上交易和敏感資訊時,驗證和簽名變得尤為重要,因為如果有人能夠篡改數(shù)據(jù),可能會對

steam登入卡在手機令牌驗證怎麼解決? steam登入卡在手機令牌驗證怎麼解決? Mar 14, 2024 pm 07:35 PM

steam是遊戲愛好者都在使用的平臺,這裡能夠領(lǐng)取購買很多的遊戲,而近期有很多用戶在登入Steam的時候出現(xiàn)了卡在手機令牌驗證的介面,無法登入成功,面對這種情況,大多數(shù)用戶都是不知道怎麼解決的,沒有關(guān)係,今日軟體教程就來為廣大用戶們進(jìn)行解答,有需要的朋友可到查看操作方法?! team手機代幣報錯?解決方法一:軟體問題首先在手機上找到steam軟體設(shè)置,請求協(xié)助頁面,並確認(rèn)使用該設(shè)備網(wǎng)絡(luò)運行正常,再次單擊確定,點擊發(fā)送短信,即可在手機頁面收取到驗證碼,即可完成驗證,解決處理請求時

如何在Laravel中驗證路由參數(shù)? 如何在Laravel中驗證路由參數(shù)? Sep 01, 2023 pm 02:41 PM

在Laravel中,路由在paths/資料夾中定義。路由在web.php檔案中定義。該檔案是在laravel安裝完成後建立的。 Laravel路由接受URI和閉包函數(shù),如下所示-useIlluminate\Support\Facades\Route;Route::get('/student',function(){return'HelloStudent';});在web/routes.php中定義的路由被分配到web中間件組中,並且它們具有會話狀態(tài)和CSRF保護。您也可以在路由中呼叫控制器如下所示

如何使用PHP框架Yii開發(fā)一個高可用的雲(yún)端備份系統(tǒng) 如何使用PHP框架Yii開發(fā)一個高可用的雲(yún)端備份系統(tǒng) Jun 27, 2023 am 09:04 AM

隨著雲(yún)端運算技術(shù)的不斷發(fā)展,資料的備份已經(jīng)成為了每個企業(yè)必須要做的事情。在這樣的背景下,開發(fā)一款高可用的雲(yún)端備份系統(tǒng)尤其重要。而PHP框架Yii是一款功能強大的框架,可以幫助開發(fā)者快速建立高效能的Web應(yīng)用程式。以下將介紹如何使用Yii框架開發(fā)一款高可用的雲(yún)端備份系統(tǒng)。設(shè)計資料庫模型在Yii框架中,資料庫模型是非常重要的一環(huán)。因為資料備份系統(tǒng)需要用到很多的表和關(guān)

See all articles