《PHP教程:Yii2中簡單的場景使用介紹》要點(diǎn):
本文介紹了PHP教程:Yii2中簡單的場景使用介紹,希望對您有用。如果有疑問,可以聯(lián)系我們。
相關(guān)主題:YII框架
PHP應(yīng)用本文主要介紹的是關(guān)于Yii2簡單場景使用的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面來一起看看詳細(xì)的介紹:
PHP應(yīng)用直接上代碼(主要部分):
PHP應(yīng)用模型層:
PHP應(yīng)用
public function rules()
{
return [
[['name', 'account', 'pwd'], 'string', 'max' => 11],
['account','required','message'=>'用戶名不能為空'],
['pwd','required','message'=>'密碼不能為空','on'=>'update']
];
}
PHP應(yīng)用控制器:
PHP應(yīng)用
$model = new User();
if(isset($_POST['User'])){
$model -> attributes = Yii::$app->request->post('User');
$model -> save();
}
PHP應(yīng)用這個時候在控制器沒有調(diào)用任何場景.他的結(jié)果是:用戶名驗(yàn)證,密碼不驗(yàn)證
PHP應(yīng)用如果在控制器加上一句$model->scenario='update';
其結(jié)果是:用戶名,密碼都驗(yàn)證了
PHP應(yīng)用如果這個時候再在模型加上幾句代碼:
PHP應(yīng)用
public function scenarios()
{
return [
'update'=>['pwd'],//在該場景下的屬性進(jìn)行驗(yàn)證,其他場景和沒有on的都不會驗(yàn)證
];
}
PHP應(yīng)用其結(jié)果是:用戶名沒有驗(yàn)證,密碼驗(yàn)證了
PHP應(yīng)用還有要注意如果你在模型里重寫了scenarios()
方法,在控制器調(diào)用了場景,那調(diào)用的場景名稱必須在scenarios()方法里有,否則出錯!
PHP應(yīng)用總結(jié)
PHP應(yīng)用以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對維易PHP的支持.
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/703.html