Функция обратного вызова не работает - Codeigniter3 HMVC - PullRequest
1 голос
/ 26 мая 2019

m получаю ошибку проверки формы при использовании функции обратного вызова в 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');
    }

все еще получаю сообщение об ошибке "требуется электронная почта" в форме просмотра. Пожалуйста, помогите решить эту проблему.

1 Ответ

1 голос
/ 26 мая 2019

Привет @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');

, это может вам помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...