我正在尝试为验证码添加外部验证规则,如下所示:
$extra_rules = Validation::factory($_POST)
->rule('captcha', array(Captcha::valid($_POST['captcha'])));
我认为有效的函数正在运行,但后来我收到了这个错误:
ErrorException [ Notice ]: Undefined offset: 1 SYSPATH/classes/Kohana/Validation.php [ 376 ]
371 // Replace with bound value
372 $rule[0] = $this->_bound[$rule[0]];
373 }
374
375 // This is an array callback, the method name is the error name
376 $error_name = $rule[1];
377 $passed = call_user_func_array($rule, $params);
请帮忙。我不知道如何管理这个验证码验证
答案 0 :(得分:1)
看起来你没有正确定义验证规则,试试这个:
$extra_rules = Validation::factory($this->request->post())
->rule('captcha', 'Captcha::valid'));
另外,由于Kohana v3。+ HMVC功能,不鼓励使用$_POST
超全球,建议使用$this->request->post()
。