本文主要介紹的是關于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()方法里有,否則出錯!
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對的支持。
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。