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

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