灰太狼
你model里面写的是验证规则,这个规则如果你save()的时候应该是可以的。
页面上这块是前端验证,你可以把前端的验证规则临时禁用下试试、、、
['username', 'required', 'when' => function ($model) { return $model->email == 'abc'; }, 'whenClient' => "function (attribute, value) { return $('#email').value == 'abc'; }"]
这样写,前端随便输入 asdfasdfas 也会是验证username不能为空
- 灰太狼 提出了问题规则验证,when为什么会无效
- 灰太狼 2017-10-20 已签到连续签到1天,获得了5个金钱
。。。。。
- 灰太狼 2017-09-29 已签到连续签到1天,获得了5个金钱
if($this->scenario == self::SCENARIO_INDEX){ $fields['lectures'] = 'xxx'; }else{ $fields['lectures'] = 'xxx'; $fields['course'] = $this->lectures . $this->course'; }
這樣是你要的?
@jackiegao 如果要的是上面那样,可以在Model部分实现啊
controller 依然使用 @bryson 的写法:
Model修改:
public function extraFields(){return [ 'lectures' => function(){ return $this->name . ' ' . $this->name; }, 'course' => 这里可以用很多方法实现。(xxx::find()->select()->where()->one())或 (callback) ];
}