【问题标题】:Callback function is not working - Codeigniter3 HMVC回调函数不起作用 - Codeigniter3 HMVC
【发布时间】:2019-05-26 08:08:43
【问题描述】:

在 HMVC CI 中使用回调函数时出现表单验证错误...我没有理解问题...我的验证代码是 -

$this->form_validation->set_rules('username', 'Email', 'trim|required|valid_email|callback_IsEmail_exist');

function IsEmail_exist() {
        $existing_email = $this->db->where("email", $this->input->post('username'))->get('tbl_user')->num_rows();//p($existing_email);echo $this->db->last_query();die;
        if ($existing_email != "0") {
            $this->form_validation->set_message('email', 'Email ID already Exist.');
            return false;
        }
    }

以下代码在Custom_Form_validation.php中:


/* custom function by Pikachu */

class Custom_Form_validation extends CI_Form_validation {

    public $CI;

    function run($module = '', $group = '') {
        (is_object($module)) AND $this->CI = &$module;
        return parent::run($group);
    }

}

在我的控制器中:

function __construct() {
        parent::__construct();
        $this->load->library('form_validation');
        $this->load->library(array('Custom_Form_validation'));
        $this->form_validation->CI =& $this;
        $this->load->model('custom_model', 'custom');
    }

仍然在视图表单中收到“需要电子邮件”错误消息。请帮助解决此问题。

【问题讨论】:

    标签: codeigniter-3


    【解决方案1】:

    嗨@pikachu 而不是这样做 -

    $this->form_validation->set_rules('username', 'Email', 'trim|required|valid_email|callback_IsEmail_exist');
    

    使用管道元素分隔成单独的参数,例如 -

    $this->form_validation->set_rules('username', 'Email', 'required', 'callback_IsEmail_exist');
    

    这可能对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多