функция обратного вызова вызывается до всей проверки

Сначала перезвоните, позвонив, затем требуется проверка. Я хочу сначала позвонить по необходимой проверке.

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

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

3

Решение

Чтобы изменить последовательность выполнения, вам нужно изменить файл базовой библиотеки в /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');
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector