繁体   English   中英

Codeigniter HMVC验证回调错误

[英]Error with Codeigniter HMVC validation callback

我在HMVC中使用Codeigniter。 验证表单时,我使用解决方案来解决HMVC中的回调问题:

1.扩展CI_Form_validation:

<?php
    // application/libraries/My_Form_validation.php

    class MY_Form_validation extends CI_Form_validation {

    public $CI;

    }

?>
  1. 在我的控制器中:

用户扩展MX_Controller类{

function __construct() {
    parent :: __construct();
    $this->load->library('form_validation');
    $this->form_validation->CI = & $this;

}

我的问题是:在我的本地主机中,一切正常:回调验证正常运行。 但是,当我在主机上上传项目时,我执行控制器时它显示为空白。 当我评论这行

 //$this->form_validation->CI = & $this;

控制器再次正常运行。

你能告诉我我如何解决这个问题吗? 谢谢你的帮助。

检查您的错误日志中是否有致命错误,还应该以这种方式扩展我的表单验证

    class MY_Form_validation extends CI_Form_validation {
       private $CI

      function My_Form_validation($config = array()) {

        parent::__construct($config); 
        $this->CI = &get_instance()

    }

   //example functions
  function my_custom_validation(str){ //or override , for example, required
      if($this->CI->method_from_instance()){
        return true;
       }
     return false
  }

}

然后像往常一样使用form_validation,但是现在您有了额外的规则my_custom_validation

编辑 :如果由于某种原因并且由于某种有线原因要在库中使用控制器功能(又名$ this),则将其作为配置传递,一旦加载库,例如$this->load->library('form_validation', array(('ci'=>$this) //但是我不明白你为什么要这么做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM