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

??
Yii框架表單模型和驗證用法,yii框架表單模型
? ??? ?? 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)入外部驗證器,然后實例化并賦值。

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

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

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框架表單模型和驗證用法。分享給大家供大家參考,具體如下: 表單模型...
? ????? ??
? ?? ??? ????? ???? ??? ??????, ???? ?????? ????. ? ???? ?? ???? ?? ??? ?? ????. ???? ??? ???? ???? ??? ?? admin@php.cn?? ?????.

? AI ??

Undresser.AI Undress

Undresser.AI Undress

???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover

AI Clothes Remover

???? ?? ???? ??? AI ?????.

Video Face Swap

Video Face Swap

??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

???

??? ??

???++7.3.1

???++7.3.1

???? ?? ?? ?? ???

SublimeText3 ??? ??

SublimeText3 ??? ??

??? ??, ???? ?? ????.

???? 13.0.1 ???

???? 13.0.1 ???

??? PHP ?? ?? ??

???? CS6

???? CS6

??? ? ?? ??

SublimeText3 Mac ??

SublimeText3 Mac ??

? ??? ?? ?? ?????(SublimeText3)

???

??? ??

?? ????
1747
16
Cakephp ????
1600
56
??? ????
1542
28
PHP ????
1401
31
???
WeChat ?? ?? ???? ??? ???? ??? ?? WeChat ?? ?? ???? ??? ???? ??? ?? Mar 25, 2024 pm 01:26 PM

1. WeChat? ? ? ?? ???? ???? WeChat ?? ??? ? ?? ???? ???? ?????. 2. ?? ? ?? ??? ?? ??? ?? ??? ?????. 3. ?? ?, ? ?? ? ???? ????/???? ??? ??? ???.

PDF?? ??? ???? ?? PDF?? ??? ???? ?? Feb 18, 2024 pm 05:33 PM

??? ????? ??? ?? ?????? PDF ??? ???, ??? ??? ??? ???? ????. ??? ??? ? SignatureValid ???? ?? ?? ??? ?????. ??? ???? ??? ???? ? ? ????. ??? ???? ?? ?????. PDF?? ?? ???? ??? ???????. PDF?? ??? ???? ?? PDF ??? ??? ???? ?? ??? ? ?? ??? ??? ???? ?????. ??? ?? ???? PDF ??? ??? ??? ? ????. Adobe Reader?? PDF? ???. ??? ??? ??? ???? ???? ?? ?? ??? ?????. ??? ??? ?? ??? ?????. ?? ??? ??? ? ?? ??? ??? ??? ?????. ?? ??? ???? ??? ?????.

???? ???? IFSC ??? ???? ??? ?????? ???? ???? IFSC ??? ???? ??? ?????? Aug 26, 2023 pm 10:17 PM

?? ?? ??? ??? ?????. ?? ?? ?? ???? ???? ?? ?? ??? ?? 11?? ??? ?????. ??????? ??? ???? ? ??? ???? ?? ? ??? ?????. IFSC ??? ? ???? ????. ??? ?? 4?? ????, ??? ??? 6?? ?????. NEFT(National Electronic Funds Transfer), RTGS(Real Time Gross Settlement) ? IMPS(Immediate Payment Service)? IFSC ??? ??? ?? ?? ? ?????. ?? ???? ???? IFSC ??? ???? ? ?? ???? ??? ??? ????. ??? ???? ?????. ?? 4?? ?????. ?? ?? ??? ?????.Che

golang?? ??? ?? ???? ???? ?? golang?? ??? ?? ???? ???? ?? Jun 25, 2023 pm 02:03 PM

golang??? ??? ???? ???? ?? ???? ???? ? ??? ?????. ???? ???? ?? ? ?? ??? ???? ?? ??? ? ??? ??? ?? ?? ???? ???? ?? ??? ?????. ? ??? golang?? ???? ??? ???? ? ???? ?????. ? ?? ??? ??? ? ?? ????? ???? ????. ?? golang? []rune ??? ???? ??? ? ????.

PHP 8? ??? ??: ?? ? ?? ?? PHP 8? ??? ??: ?? ? ?? ?? Mar 27, 2024 am 08:21 AM

PHP8? ?? ??? PHP? ??????? ? ?? ???? ??? ?????. ? ??? ??? ??? ??? ??? ?? ??? ????? ??? ?? ? ??? ?? ? ?? ??? ??? ????. ? ????? ??? ??? ??? ? ??? ?? ??? ???????. ?? ? ??? ??? ???? ?? ??? ?? ?????. ?? ??? ???? ???? ???? ???? ? ?? ?????. ??? ?? ? ??? ??? ??? ? ?? ? ??? ?? ??????. ???? ???? ??? ? ??? ????? ?? ? ?? ?????.

??? ?? ???? ?? ???? ??? ??? ???? ??? ?????? ??? ?? ???? ?? ???? ??? ??? ???? ??? ?????? Mar 14, 2024 pm 07:35 PM

Steam? ?? ????? ???? ??????. ??? ?? ?? ???? Steam? ???? ? ??? ?? ?? ?????? ?? ????? ???? ? ????. ? ??? ???? ??? ?? ?? ???? ????. ??? ????? ????? ???? ??? ???? ?? ?? ????. Steam ??? ?? ?????? ?? ?? 1: ????? ??? ?? ?? ????? ?? ????? ??? ?? ?? ???? ??? ? ?? ??? ???? ????? ????? ???? ??? ??? ? ?? ??? ???? SMS ???? ???? ?? ??? ?? ? ????. ??? ????? ?? ?? ? ??, ??? ?????.

Laravel?? ?? ????? ???? ??? ?????? Laravel?? ?? ????? ???? ??? ?????? Sep 01, 2023 pm 02:41 PM

Laravel?? ??? paths/ ??? ?????. ??? web.php ??? ???? ????. ? ??? Laravel ??? ??? ? ?????. Laravel ??? ??? ?? URI ? ??? ??? ?????. web/routes.php?? useIlluminate\Support\Facades\Route::get('/student',function(){return'HelloStudent';}); ??? ??? ?????. ? ???? ??? ???? ?? ?? ? CSRF ?? ??? ????. ??? ?? ??? ????? ??? ?? ????.

PHP ????? Yii? ???? ???? ???? ?? ???? ???? ?? PHP ????? Yii? ???? ???? ???? ?? ???? ???? ?? Jun 27, 2023 am 09:04 AM

???? ??? ??? ????? ????? ??? ??? ?? ??? ??? ?? ? ?? ?????. ??? ???? ???? ?? ???? ?? ???? ???? ?? ?? ?????. PHP ????? Yii? ???? ??? ? ??????? ??? ???? ? ??? ?? ??? ????????. ??? Yii ?????? ???? ???? ???? ?? ???? ???? ??? ?????. ?????? ?? ?? Yii ??????? ?????? ??? ?? ??? ?????. ??? ?? ????? ?? ???? ??? ???? ???

See all articles