scenario场景的使用 [ 2.0 版本 ]
当我创建一个news新闻form表单时,
添加新闻的时候执行create动作。
必填字段:title-标题,picture-图片,description-描述。
这时候在app\models\News.php里News.php下rules规则这样定义:
public function rules()
{
return [
[['title', 'description', 'picture', ], 'required',],
];
}
但是我们更改的时候 只需要 [['title', 'description'], 'required'], 就可以了,
但是少了 image 字段 我们的表单就无法提交,这种问题怎么办啊??
下面就是scenario场景上场了
首先我们必须在app\models\News.php定义一个场景代码如下:
public function scenarios()
{
return [
'create'=>['title','description','picture'],
'update'=>['title','description'],
];
}
然后修改rules规则:
public function rules()
{
return [
[['title', 'description', ], 'required','on'=>['create','update'],'message'=>'不能为空'],
[['picture'], 'required', 'on' => 'create'],
];
}
然后在控制器NewsController/create动作下添加这一句代码就可以:
$model->scenario = 'create';
在NewsController/update动作下添加:
$model->scenario = 'update';
bear sadf
注册时间:2017-08-21
最后登录:2020-05-26
在线时长:20小时53分
最后登录:2020-05-26
在线时长:20小时53分
- 粉丝0
- 金钱215
- 威望10
- 积分515
共 0 条评论