Я пишу систему, в которой пользователи могут создавать / запускать запросы по запросу на основе значений 4 выпадающих списков. Списки генерируются динамически на основе ряда факторов, но в этот момент у меня возникают проблемы с проверкой входных данных с использованием встроенных в валидацию классов Codeigniter. Я думаю, что у меня что-то не в порядке, и я попытался посмотреть на сайт codeigniter , но я думаю, что запутался.
На мой взгляд (/dashboard/dashboard_index.php), у меня есть следующий блок кода:
<?=form_open('dashboard/dashboard_add');?>
<select ... name='selMetric'>
<select ... name='selPeriod'>
<select ... name='selSpan'>
<select ... name='selTactic'>
<input type="submit" name="submit_new_query" value="Add New Graph" class="minbutton" ></input>
<?=form_close();?>
Тогда в моем контроллере у меня есть следующие 2 метода:
function index() {
$this->load->helper(array('form', 'url'));
$this->load->library('validation');
//population of $data
$this->load->tile('dashboard/dashboard_index', $data);
}
function dashboard_add()
{
$rules['selMetric'] = "callback_sel_check";
$rules['selPeriod'] = "callback_sel_check";
$rules['selSpan'] = "callback_sel_check";
$rules['selTactic'] = "callback_sel_check";
$this->validation->set_rules($rules);
$fields['selMetric'] = "Metric";
$fields['selPeriod'] = "Time Period";
$fields['selSpan'] = "Time Span";
$fields['selTactic'] = "Tactic";
$this->validation->set_fields($fields);
if ($this->validation->run() == false) {
$this->index();
}
else {
//do stuff with validation information
}
}
Вот моя проблема. Я могу заставить вещи правильно проверять, но за количество ошибок, которые я имею, я получаю
Unable to access an error message corresponding to your field name.
как сообщение об ошибке для всего. Я думаю, что моя проблема в том, что у меня неправильное расположение $ rules и $ fields, но я пробовал несколько перестановок, и я просто продолжаю понимать это неправильно. Я надеялся, что смогу получить какой-нибудь совет о правильном месте для размещения вещей.