yii2 验证场景
示例
使用方案可以在不同情况下执行验证
在模型类中定义方案
class User extends \yii\db\ActiveRecord { public static function tableName() { return 'user_master'; } //在rule()函数中定义验证 public function rules() { return [ [['email_id'],'email'], [['first_name',],'required','on'=>['create','update']], //创建场景 [['email_id',],'required','on'=> ['admin','create','update','forgotpassword']], [['mobile',],'required','on'=>['admin','create','update']], ]; } }
在控制器中使用方案
public function actionCreate() { $model = new User(); $model->scenario="create"; //使用创建方案,创建在此模型中应用的方案验证 } public function actionUpdate() { $model = new User(); $model->scenario="update"; //使用更新方案,此模型中应用的更新方案验证 }