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

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

Yii框架表單模型和驗(yàn)證用法,yii框架表單模型_PHP教程

Jul 12, 2016 am 08:50 AM
yii 驗(yàn)證

Yii框架表單模型和驗(yàn)證用法,yii框架表單模型

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

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

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

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

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

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

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

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)建驗(yàn)證器流程

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

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

PS:小編在這里推薦一款本站的php格式化美化的排版工具幫助大家在以后的PHP程序設(shè)計(jì)中進(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日期與時(shí)間用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

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

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

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

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

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

如何在PDF中驗(yàn)證簽名 如何在PDF中驗(yàn)證簽名 Feb 18, 2024 pm 05:33 PM

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

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

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

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

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

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

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

steam登入卡在手機(jī)令牌驗(yàn)證怎麼解決? steam登入卡在手機(jī)令牌驗(yàn)證怎麼解決? Mar 14, 2024 pm 07:35 PM

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

如何在Laravel中驗(yàn)證路由參數(shù)? 如何在Laravel中驗(yàn)證路由參數(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中間件組中,並且它們具有會(huì)話狀態(tài)和CSRF保護(hù)。您也可以在路由中呼叫控制器如下所示

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

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

See all articles