У меня есть форма, которую мне нужно проверить, но я не могу понять, как кодировать контроллер, чтобы он работал правильно при первом отображении страницы. Вот мой код (упрощенно):
function index()
$data['somedata'] = $this->input->post('somedata');
$this->form_validation->set_rules('event', 'Event', 'trim|required|alpha_numeric');
... more set_rules ...
if($this->form_validation->run() == FALSE)
{
// Hasn't been run or there are validation errors
$this->load->view('eventview', $data);
}
else
{
// Process the event
}
}
Проблема в том, что form_validation-> run () никогда не бывает FALSE, потому что массив $ _POST содержит данные из предыдущей формы, которые используются этой второй формой. В самом начале функции form_validation-> run () находится следующий код:
// Do we even have any data to process? Mm?
if (count($_POST) == 0)
{
return FALSE;
}
Так как данные $ _POST существуют, счетчик всегда больше нуля, что приводит к проверке, которая будет обработана при начальной загрузке страницы.
Какие-нибудь предложения относительно того, как я мог бы обойти это?