Если вы redirect()
, вы не сможете использовать set_value()
для повторного заполнения полей формы.
Что проще всего, так это то, что ваш контроллер индекса обрабатывает поведение загрузки по умолчанию и отправку.
function index()
{
if($this->input->post('foo'))
{ // something was POSTed
$this->load->library('form_validation');
//validation rules
} else
{ // normal view
//
}
$this->load->view('home');
}
В качестве альтернативы, вы можете просто настроить контроллер index
и submit
, чтобы они указывали на один и тот же вид, который определяет, установлены ли значения validation_errors()
, и соответственно заполняет поля формы.
Третий вариант (хакерский): вы можете использовать flashdata для хранения ошибок при отправке и отправленных значений формы при перенаправлении обратно в индекс. Примерно так будет работать:
$this->session->set_flashdata('errors', $validation_errors());