この記事では主に 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';
をコントローラーに追加すると、結果は次のようになります: ユーザー名とパスワードが検証されました $model->scenario='update';
其结果是:用户名,密码都验证了
如果这个时候再在模型加上几句代码:
public function scenarios() { return [ 'update'=>['pwd'],//在该场景下的属性进行验证,其他场景和没有on的都不会验证 ]; }
其结果是:用户名没有验证,密码验证了
还有要注意如果你在模型里重写了scenarios()
この時点でモデルに数行のコードを追加すると:
rrreee結果は次のようになります: ユーザー名は検証されず、パスワードは検証されますまた、モデル内の を書き換える場合には注意してください。 scenarios()
メソッドはコントローラー内のシーンを呼び出します。呼び出されるシーン名は scenarios() メソッド内に存在する必要があります。そうでない場合はエラーが発生します。
Yii フレームワークがカスタムファイルへのロギングを実装する方法の詳細な説明
🎜🎜🎜🎜🎜 の使用方法の詳細な説明Yii2 フォームウィジェット🎜 🎜🎜以上がYii2 のシナリオの簡単な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。