【问题标题】:Codeigniter callback funtion in form Validation not working表单验证中的 Codeigniter 回调函数不起作用
【发布时间】:2014-11-27 04:19:07
【问题描述】:

导入库

$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 中,带有 $rule 的方法 method_exists($this->CI, $rule)return FALSE 正是我的函数名称。所以问题可能来自$this-CI。但是,它正好指向我的控制器路径。这有什么问题?

【问题讨论】:

  • 如何调试代码,你有没有在回调函数中尝试die($startdate)
  • 是的,但它根本没有运行到我的回调函数中

标签: php codeigniter validation


【解决方案1】:

改变规则的顺序:

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

【讨论】:

    【解决方案2】:

    这可能对你有用 -

    $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
    }
    

    【讨论】:

      猜你喜欢
      • 2010-11-24
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-04
      • 1970-01-01
      • 2014-09-24
      • 2011-12-09
      相关资源
      最近更新 更多