PenDon

PenDon

2019-2020

  • 财富值540
  • 威望值10
  • 总积分860

个人信息

  • 2019-09-29 已签到
    连续签到1天,获得了5个金钱
  • 2019-09-27 已签到
    连续签到1天,获得了5个金钱
  • 2019-09-24 已签到
    连续签到2天,获得了10个金钱
  • 2019-09-23 已签到
    连续签到1天,获得了5个金钱
  • 回复了 的回答

    validate() 方法会在 save()load() 时触发
    另外存在时再验证的规则可以这样写

    ['xid', 'required', 'message' => 'xid不能为空', 'when' => function($model, $attribute){
    return trim($model->invite) ? true : false;
    }]
    

    嗯,谢谢。我用 validate + return $model->getErros()测试了几次:

    $model->load($post, '');
    //$model->invite = Yii::$app->getRequest()->get('invite');
    if (!$model->validate()){
    return $model->getErrors();exit();}
    

    问题就出在这里了,无论我注释还是不注释赋值给invite那句,都会出现xid不能为空的错误,这与我期望的逻辑不符合

  • 2019-09-21 已签到
    连续签到2天,获得了10个金钱
  • 回复了 的回答

    validate() 方法会在 save()load() 时触发
    另外存在时再验证的规则可以这样写

    ['xid', 'required', 'message' => 'xid不能为空', 'when' => function($model, $attribute){
    return trim($model->invite) ? true : false;
    }]
    

    问题就是我在load()后面return $model->getErrors()没有错误信息,如果是load出错了,应该有的啊。load()和validate()应该是有区别的。
    另外用when触发验证确实是可以的,谢谢

  • 提出了问题
    关于 load 和 validate 的问题
  • 2019-09-20 已签到
    连续签到1天,获得了5个金钱
主管 等级规则
860/1000
资料完整度
60/100
用户活跃度
0/100

Ta的关注

2

Ta的粉丝

0

Ta的访客

2