表单中的Codeigniter回调函数验证不起作用

时间:2014-11-27 04:19:07

标签: php codeigniter validation

导入库

$this->load->helper(array('form', 'url'));
$this->load->library('form_validation');

设定规则

$this->form_validation->set_rules('START_DAY', 'lang:START_DAY', 'callback_start_check|required');

回调功能

public function start_check($startdate){
....
}

它只在一个控制器中。

我的required验证工作正常,但我的表单验证不会在我的回调函数上运行。我看到很多关于这个的帖子,但是有一些关于改变MY_Form_validation.php的东西。但是,我真的想知道我的代码是如何工作的?

我发现在Form_validation.php中,方法method_exists($this->CI, $rule)返回FALSE,$ rule正是我的函数名。所以问题可能来自$this-CI。但是,它指向我的控制器路径。那有什么不对?

2 个答案:

答案 0 :(得分:0)

更改规则序列:

$this->form_validation->set_rules('START_DAY', 'lang:START_DAY', 'required|callback_start_check');

答案 1 :(得分:0)

这可能适合你 -

$this->form_validation->set_rules('name','Name','required|callback__unique_name[Role.name]');
//double underscore after callback  

这将是回调函数 -

public function _unique_name($name) {
     //Put your validation code here
}