if((int)$data['AccType'] == 0) //如果是注册子账户
{
$data['RefereeUserid'] = Session::get('KT_user_id');
$rule = 'app\common\validate\User.add_user'; //使用验证场景
}
else
{
$data['AccType'] = 1; //如果是注册主账户
$rule = 'app\common\validate\User'; //使用User验证器的rule验证,这不是场景
}
$validate = new \app\common\validate\User; //自定义验证类
$res = $validate->check($data,$rule,''); 为什么,check里,只要填写了$rule,就报错呢,报错的原因是说,没找到验证场景。我不用验证场景啊,我就是主账户注册,就验证rule里面的规则,只有注册子账户,才用场景。1,$res = $validate->check($data); 如果这样写,是对的。,不报错。
2,$res = $validate->check($data,$rule); 这样写就报错,这俩写法有啥区别吗?
感觉1,就是2的简写啊。为啥2报错。要我写什么场景。
最佳答案