本文主要為大家介紹了關於Yii2中簡單的場景使用的相關資料,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來跟著小編一起學習學習吧。希望對大家有幫助。
直接上程式碼(主要部分):
#模型層:
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(); }
這個時候在控制器沒有呼叫任何場景。他的結果是:用戶名驗證,密碼不驗證
如果在控制器加上一句$model->scenario='update';
其結果是:用戶名,密碼都驗證了
如果這個時候再在模型加上幾句程式碼:
public function scenarios() { return [ 'update'=>['pwd'],//在该场景下的属性进行验证,其他场景和没有on的都不会验证 ]; }
其結果是:使用者名稱沒有驗證,密碼驗證了
還有要注意如果你在模型裡重寫了scenarios()
方法,在控制器呼叫了場景,那呼叫的場景名稱必須在scenarios()方法裡有,否則出錯!
相關推薦:
#以上是Yii2中場景的簡單介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!