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