Yii2场景简单应用

模型层:
    
//场景
const SCENARIO_CREATE = 'create';

public function rules(){
       return [
            [['username','mobile'], 'required']
            [['email'], 'required', 'on' => self::SCENARIO_CREATE],
            [['mobile'], function ($attribute){
                if(!preg_match('/^1[3|4|5|6|7|8|9]\d{9}$/', $this->$attribute)){
                    $this->addError($attribute, '手机号码格式有误');
                }
            }],
        ];
}

控制器层:

public function actionCreate(){
    $model = new createModel();
    //设置场景 不设置代表默认场景
    $model->setScenario(createModel::SCENARIO_CREATE);

    //其他操作
}

rules中不加场景的是默认场景 创建场景下会加上默认场景的验证 故创建场景下 验证的是username,mobile,email

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章