Yii2中簡(jiǎn)單的場(chǎng)景使用介紹
本文主要介紹的是關(guān)于Yii2簡(jiǎn)單場(chǎng)景使用的相關(guān)內(nèi)容,分享出來(lái)供大家參考學(xué)習(xí),下面來(lái)一起看看詳細(xì)的介紹:
直接上代碼(主要部分):
模型層:
public function rules() { return [ [['name', 'account', 'pwd'], 'string', 'max' => 11], ['account','required','message'=>'用戶名不能為空'], ['pwd','required','message'=>'密碼不能為空','on'=>'update'] ]; }
控制器:
$model = new User(); if(isset($_POST['User'])){ $model -> attributes = Yii::$app->request->post('User'); $model -> save(); }
這個(gè)時(shí)候在控制器沒(méi)有調(diào)用任何場(chǎng)景。他的結(jié)果是:用戶名驗(yàn)證,密碼不驗(yàn)證
如果在控制器加上一句$model->scenario='update';
其結(jié)果是:用戶名,密碼都驗(yàn)證了
如果這個(gè)時(shí)候再在模型加上幾句代碼:
public function scenarios() { return [ 'update'=>['pwd'],//在該場(chǎng)景下的屬性進(jìn)行驗(yàn)證,其他場(chǎng)景和沒(méi)有on的都不會(huì)驗(yàn)證 ]; }
其結(jié)果是:用戶名沒(méi)有驗(yàn)證,密碼驗(yàn)證了
還有要注意如果你在模型里重寫(xiě)了scenarios()
方法,在控制器調(diào)用了場(chǎng)景,那調(diào)用的場(chǎng)景名稱(chēng)必須在scenarios()方法里有,否則出錯(cuò)!
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- 關(guān)于Yii中模型場(chǎng)景的一些簡(jiǎn)單介紹
- Yii2中的場(chǎng)景(scenario)和驗(yàn)證規(guī)則(rule)詳解
- Yii 2.0中場(chǎng)景的使用教程
- Yii2.0框架behaviors方法使用實(shí)例分析
- yii2.0框架使用 beforeAction 防非法登陸的方法分析
- YII2.0框架行為(Behavior)深入詳解
- Yii2.0框架實(shí)現(xiàn)帶分頁(yè)的多條件搜索功能示例
- Yii2.0 RESTful API 基礎(chǔ)配置教程詳解
- 修改yii2.0用戶登錄使用的user表為其它的表實(shí)現(xiàn)方法(推薦)
- yii2.0框架場(chǎng)景的簡(jiǎn)單使用示例
相關(guān)文章
php去除換行符的方法小結(jié)(PHP_EOL變量的使用)
本來(lái)在unix世界換行就用/n來(lái)代替,但是windows為了體現(xiàn)他的不同,就用/r/n,更有意思的是在mac中用/r。因此unix系列用 /n,windows系列用 /r/n,mac用 /r,這樣就用你寫(xiě)的程序在不同的平臺(tái)上運(yùn)行有著不少的麻煩2013-02-02PHP中怎樣保持SESSION不過(guò)期 原理及方案介紹
本文主要討論WEB SESSION,其一般有兩種:客戶端SESSION和服務(wù)器端SESSION,后一種最常見(jiàn)的屬于Java Beans提供的2013-08-08

PHP實(shí)現(xiàn)的字符串匹配算法示例【sunday算法】