Почему не работает моя проверка кода CodeIgniter?

Я пытаюсь настроить проверку на простой форме контакта, которая создается с помощью хелпера формы. Никакой проверки не происходит. Что не так?

В приведенном ниже коде ключевое слово «хорошее» всегда отображается независимо от того, что введено в форму, а сохраненные значения, установленные с помощью set_value, никогда не отображаются.

контроллер

// Contact function contact() { $data['pageTitle'] = "Contact"; $data['bodyId'] = "contact"; $this->load->library('form_validation'); $config_rules = array ('email' => 'required','message' => 'required'); $this->form_validation->set_rules($config_rules); if ($this->form_validation->run() == FALSE) { echo "bad"; $data['include'] = "v_contact"; $this->load->view('v_template',$data); } else { echo "good"; $data['include'] = "v_contact"; $this->load->view('v_template',$data); } } 

Посмотреть

 echo validation_errors(); echo form_open('events/contact'); // name echo form_label('Name', 'name'); $data = array ( 'name' => 'name', 'id' => 'name', 'maxlength' => '64', 'size' => '40', 'value' => set_value('name') ); echo form_input($data) . "\n<br />"; // email address echo form_label('Email Address', 'email'); $data = array ( 'name' => 'email', 'id' => 'email', 'maxlength' => '64', 'size' => '40', 'value' => set_value('email') ); echo form_input($data) . "\n<br />"; // message echo form_label('Message', 'message'); $data = array ( 'name' => 'message', 'id' => 'message', 'rows' => '8', 'cols' => '35', 'value' => set_value('message') ); echo form_textarea($data) . "\n<br />"; echo form_submit('mysubmit', 'Send Message'); echo form_close(); 

Похоже, вы не устанавливаете правила проверки в соответствии с тем, как это Form_validation новая библиотека Form_validation (в руководстве пользователя есть раздел о новом синтаксисе). Кажется, это синтаксис старой библиотеки Validation .

Попробуйте это вместо этого для вашего $config_rules массива и проверьте, правильно ли выполняется ваша проверка:

 $config_rules = array( array('field' => 'email', 'rules' => 'required'), array('field' => 'message', 'rules' => 'required') ); $this->form_validation->set_rules($config_rules);