亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

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

2024-05-04 23:46:31
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Yii框架表單模型和驗證用法,結合實例形式分析了Yii表單模型的原理及驗證器的使用技巧,需要的朋友可以參考下
 

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

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

//模型中的驗證規則public function rules(){  return array(    array('username, password', 'required'),    array('rememberMe', 'boolean'),    array('password', 'authenticate'),  );}
$model=new LoginForm;//創建一個登錄表單模型$model->attributes=$_POST['LoginForm'];//傳入登錄數據CModel->setAttributes($values,$safeOnly=true)//調用CModel的setter方法//返回model中relues中定義的安全數據,經過下面的調用流程獲取一個驗證器集合//每個驗證器由CValidator::createValidator($rule[1],$this,$rule[0],array_slice($rule,2))CModel->getValidators()->createValidators()->rules()CModel->validate();//遍歷驗證器執行驗證

驗證器內部實現

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

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;}

創建驗證器流程

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

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



注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲美女视频网| 日韩av手机在线| 日韩在线观看你懂的| 亚洲欧美综合精品久久成人| 亚洲人精品午夜在线观看| 欧美精品亚州精品| 91国产视频在线| 精品国内亚洲在观看18黄| 91丝袜美腿美女视频网站| 国产精品草莓在线免费观看| 欧洲精品毛片网站| 国产精品网红直播| 日韩在线欧美在线国产在线| 亚洲欧美激情精品一区二区| 国产69久久精品成人| 中文字幕一精品亚洲无线一区| 久久久视频免费观看| 中文字幕久热精品在线视频| 国产91久久婷婷一区二区| 欧美日韩福利电影| 日韩av男人的天堂| 在线观看视频亚洲| 91成人性视频| 亚洲在线免费视频| 亚洲iv一区二区三区| 日本高清+成人网在线观看| 久久色精品视频| 久久精品国产久精国产一老狼| 国产丝袜高跟一区| 爽爽爽爽爽爽爽成人免费观看| 三级精品视频久久久久| 国产女人18毛片水18精品| 精品国产欧美一区二区五十路| 中文日韩电影网站| 亚洲欧洲日产国产网站| 精品高清一区二区三区| 成人中文字幕在线观看| 国产999在线| 丰满岳妇乱一区二区三区| 亚洲新中文字幕| 亚洲老司机av| 91九色视频在线| 日韩三级影视基地| 欧美日韩国产中文精品字幕自在自线| 91九色视频导航| 精品夜色国产国偷在线| 国产玖玖精品视频| 日韩欧美高清视频| 亚洲精品久久久久久久久| 亚洲男女性事视频| 色噜噜狠狠狠综合曰曰曰| 久久精品99无色码中文字幕| 亚洲小视频在线| 亚洲国产欧美一区二区三区同亚洲| 亚洲三级黄色在线观看| 日韩av在线免费播放| 欧美成人一区在线| 另类美女黄大片| 亚洲精品理论电影| 国产精品27p| 97在线精品国自产拍中文| 国产成人精品最新| 精品欧美国产一区二区三区| 亚洲影院污污.| 欧美成人性生活| 成人黄色在线免费| 色吧影院999| 久久伊人精品一区二区三区| 亚洲成人1234| 国产成人精品午夜| 国产在线一区二区三区| 91精品国产网站| 亚洲精品福利资源站| 日韩av不卡在线| 91精品免费久久久久久久久| 欧美巨乳在线观看| 久久久女女女女999久久| 日韩中文字幕久久| 日韩av网址在线| 亚洲第一免费播放区| 亚洲免费成人av电影| 97超视频免费观看| 中文字幕日韩欧美在线| 亚洲人av在线影院| 成人夜晚看av| 亚洲第一福利视频| 性色av一区二区三区在线观看| 福利二区91精品bt7086| 亚洲视频综合网| 色综合视频一区中文字幕| 亚洲在线第一页| 亚洲精品一区二三区不卡| 亚洲第一偷拍网| 欧美富婆性猛交| 欧美激情在线观看| 成人一区二区电影| 亚洲视频一区二区三区| 国产精品久久久av久久久| 国语自产在线不卡| 日韩在线观看免费高清完整版| 日本久久久久亚洲中字幕| 高清视频欧美一级| 日韩欧美国产免费播放| 国产成人精品日本亚洲| 欧美精品久久久久久久久| 95av在线视频| 日韩高清免费观看| 91日本在线视频| 久久精品在线播放| 欧美性videos高清精品| 欧美成人亚洲成人日韩成人| 久久精品国产久精国产思思| 亚洲女人天堂成人av在线| 久久精品视频在线播放| 欧美激情视频一区二区| 精品国产鲁一鲁一区二区张丽| 欧美日韩成人精品| 国产成人精品久久久| 欧美日韩一区二区免费视频| 欧美激情喷水视频| 亚洲欧美色图片| 精品久久久久久久久久久久久| 日韩欧美a级成人黄色| 成人www视频在线观看| 欧美日韩成人在线播放| 91网站在线看| 在线色欧美三级视频| 欧美在线观看一区二区三区| 日韩一区视频在线| 色爱av美腿丝袜综合粉嫩av| 国产丝袜精品第一页| 国产人妖伪娘一区91| 成人国内精品久久久久一区| 欧美高清自拍一区| www.国产精品一二区| 4438全国亚洲精品在线观看视频| 色婷婷综合久久久久中文字幕1| 国产精品白嫩美女在线观看| 亚洲精品自拍偷拍| 国产美女久久精品香蕉69| 另类视频在线观看| 久久视频中文字幕| 亚洲欧洲在线看| 亚洲国产99精品国自产| 亚洲一级黄色片| 97在线视频免费观看| 日韩精品极品在线观看播放免费视频| 亚洲人成电影网站色| 欧美在线精品免播放器视频| 成人黄色在线免费| 精品久久香蕉国产线看观看gif| 久久成人精品视频| 国产欧美日韩精品在线观看| 亚洲色图美腿丝袜| 日韩av手机在线观看| 亚洲国产精品一区二区久| 在线电影欧美日韩一区二区私密| 久久成人国产精品| 久久av在线播放| 国产日韩欧美黄色| 国产日韩在线亚洲字幕中文| 国产午夜精品视频免费不卡69堂| 成人h片在线播放免费网站| 伊人久久男人天堂|