установка функции обратного вызова в модели в конфигурационном файле - PullRequest
1 голос
/ 04 апреля 2011

Я установил различные правила проверки для разных страниц в файле конфигурации. И на одной странице я хочу проверить, существует имя пользователя или нет. Можно ли создать правило проверки в самом файле конфигурации? но я создал функцию для проверки в модели. Я хочу знать, если невозможно вызвать функцию обратного вызова в этой модели в файле конфигурации?

Я прочитал статью в http://codeigniter.com/wiki/MY_Validation_-_Callbacks_into_Models/. В этой статье было указано, что нам нужно будет вызывать правило проверки, например:

$this->form_validation->run($this);

и установив правила проверки в конфигурационном файле, мы должны будем вызвать функцию, подобную:

$this->form_validation->run('name of rule in config file');

Как мне объединить оба?

1 Ответ

1 голос
/ 04 апреля 2011

установка правила для проверки с помощью обратного вызова выполняется только с использованием строки. По этой ссылке:

$this->validation->set_rules(array(
        'username'    => 'trim|required|callback_users_model->is_unique[username]',
        'password'    => 'trim|required|matches[confirm]',
    )); 

вы можете видеть, что метод обратного вызова устанавливается с помощью строки

callback_users_model->is_unique[username]

где вы просто используете строку

$rule = 'callback_' . $model_class . '->' $function_name . '[username]';

теперь вы можете просто загрузить $ model_class и $ function_name из вашей конфигурации, как обычно:

$model_class = $this->config->item('validation.model.class');
$function_name = $this->config->item('validation.method');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...