当前位置: 首页 > 工具软件 > yii2-wschat > 使用案例 >

Yii2 使用scenarios

姚高爽
2023-12-01

Yii2里 model在使用load方法加载浏览器的值的时候,会进行rules验证。这时候可以使用场景,让model对不同场景使用不同验证方式:

model中:

    //设定在不同场景下面验证的规则
    public function scenarios()
    {
        $scenarios = parent::scenarios();
        $scenarios['login'] = ['username', 'password'];
        $scenarios['register'] = ['username', 'email', 'password'];
        return $scenarios;
    } 

在model中的rules:

    public function rules()
    {
        return [
            //指定场境验证
            [['username', 'password'], 'required', 'on' => ['login']],
            [['username', 'password', 'email'], 'required', 'on' => ['register']],
        ];
    }

使用方法:

       //使用方法一
       //$model = new SignupForm(['scenario'=>'login']);

       //使用方法二
       //$model = new SignupForm();
       //$model->setScenario("login");

       //方法三
       $model = new SignupForm();
       $model->scenario ="login";
 类似资料: