灰太狼

灰太狼

这家伙有点懒,还没写个性签名!

  • 财富值3290
  • 威望值150
  • 总积分5550

个人信息

  • 赞了话题
    上传图片预览
  • 发布了话题
    上传图片预览
  • 回复了 的回答

    你model里面写的是验证规则,这个规则如果你save()的时候应该是可以的。

    页面上这块是前端验证,你可以把前端的验证规则临时禁用下试试、、、

    save也不行

  • 回复了 的回答

    你model里面写的是验证规则,这个规则如果你save()的时候应该是可以的。

    页面上这块是前端验证,你可以把前端的验证规则临时禁用下试试、、、

        ['username', 'required', 'when' => function ($model) {
              return $model->email == 'abc';
          }, 'whenClient' => "function (attribute, value) {
              return $('#email').value == 'abc';
        }"]
    

    这样写,前端随便输入 asdfasdfas 也会是验证username不能为空

  • 回复了 的回答

    你这个不是验证username吗?你填写的是email

    我理解的意思是,如果email的值是abc,那么username就不去验证,如果email填写的是其他值就会去验证。

  • 提出了问题
    规则验证,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'; 
    }
    

    這樣是你要的?

    如果要的是上面那样,可以在Model部分实现啊

    controller 依然使用 的写法:

    Model修改:
    public function extraFields(){

    return [
        'lectures' => function(){
            return $this->name . ' ' . $this->name;
        },
        'course' => 这里可以用很多方法实现。(xxx::find()->select()->where()->one())或 (callback)
    ];
    

    }

副总裁 等级规则
5550/10000
资料完整度
10/100
用户活跃度
0/100

Ta的关注

8

Ta的粉丝

28

Ta的访客

120