2017-01-19 3 views
2

Вызов подтверждения вызова, сначала требуемая проверка - это вызов. Я хочу сначала вызвать требуемую проверку.Функция обратного вызова вызывается перед всеми проверками

Мой код функции set_validation:

public function set_validation() 
{ 
    $this->form_validation->set_rules('from', 'Ended Date', 'required|callback_compareDates'); 
} 

ответ

1

Для того, чтобы изменить последовательность выполнения вам необходимо изменить файл ядра библиотеки в /system/libraries/Form_validation.php

Из функции

protected function _prepare_rules($rules) 
{ 
... 
... 
return array_merge($callbacks, $new_rules); 
} 

Изменить

return array_merge($callbacks, $new_rules); 

Для

return array_merge($new_rules, $callbacks); 

Читать здесь Form_validation.php

ИЛИ

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

function required($str) 
{ 

    if(!is_array($str) ? (empty($str) === FALSE): (trim($str) !== '')) 
    { 
     $this->form_validation->set_message('from', 'Required error message'); 
     return false 
    } 

    return true; 
} 

и в контроллере

public function set_validation() 
{ 
    $this->form_validation->set_rules('from', 'Ended Date', 'callback_required|callback_compareDates'); 
} 
+1

Благодаря U столько Акшай Хедж Большое спасибо –

Смежные вопросы