Yii2 Model scenarios 使用

19-12-08 13:06 字数 609 阅读 164 已编辑

官方文档地址:https://www.yiiframework.com/doc/guide/2.0/en/structure-models
应用场景:
同一个form表单在create和update时,update时不需依赖主键字段,而create时则不需要验证该字段,这时对该字段进行场景标识区分

public function rules()
{
    return [
        [['attribute_set_id'], 'required', 'on'=>self::SCENARIO_UPDATE],
        [['attribute_set_id', 'status'], 'integer'],
        [['attribute_set_name', 'note'], 'string', 'max' => 255],
        [['attribute_set_id'], 'unique'],
    ];
}

由于默认继承了ActiveRecord,默认都自带一个default的scenarios,Model支持的scenarios由Model中声明的验证规则决定。也可以通过重写的方式进行自定义scenarios

 public function scenarios()
{
    return [
        self::SCENARIO_LOGIN => ['username', 'password'],
        self::SCENARIO_REGISTER => ['username', 'email', 'password'],
    ];
}
1人点赞>
关注 收藏 改进 举报
0 条评论
排序方式 时间 投票
快来抢占一楼吧
请登录后发表评论