Я проверил и повторно проверил свой код, ссылаясь на документы CI и другие сообщения в Интернете, но я не смог реализовать метод set_value() для повторного заполнения полей формы после неудачной проверки. Возможно, мне не хватает чего-то очень фундаментального для рамки CI (я довольно к ней знаком), но ваше понимание было бы очень оценено.Set_value CodeIgniter() не переполняется
У меня есть следующие в моем методе контроллера:
public function form_step2(){
//Form Setup
$this->load->helper('form');
$this->load->helper('url');
$this->load->library('form_validation');
$data['title'] = $this->base_title;
$data['base_url'] = base_url();
//Validation Settings - must be set per step
$this->form_validation->set_rules('request_type', 'Request Type', 'required');
*...more of the same set_rules()*
if ($this->form_validation->run() === FALSE) {
### Validation failed or New Form
// Get form element data
$data['request_types'] = $this->my_model->get_form_data('request_type');
*...more of the same get_form_data() calls for loading form elements*
//Generate Page from View Templates
$this->load->view('templates/header', $data);
$this->load->view('templates/form_step2', $data);
$this->load->view('templates/footer');
} else {
### Save to database
$this->my_model->set_data($data);
redirect('my_model/success','refresh');
}
}
И на мой взгляд, фрагмент кода, который не восстанавливается заселение:
<?php echo form_open('my_model/form_step2', array('class'=>'form-inline')); ?>
<label for="fname">First Name</label>
<input type="text" id="fname" name="fname" value="<?php echo set_value('fname'); ?>" />
<input type="submit" name="submit" value="Submit" />
Я не могу понять это один, так что заблаговременно за вашу помощь.
Спасибо, это очень раздражает, что правило необходимо для того, чтобы повторно населения работать на всех, но это было то, где я ошибся. –
Я также смог использовать $ this-> form_validation-> set_rules ('perf_fname', 'First Name', 'trim'); для полей, которые мне не нужны. –
проблем нет, примечание 'trim()' очень хорошая функция. Я использую его в каждом правиле, записывая. – Kyslik