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";  // 使用更新方案,此模型中应用的更新方案验证
}