Валидация формы в CodeIgniter

Yan

Новичок
Добрый день! Не получается сделать валидацию простой формы в CodeIgniter (пока без Модели и БД, хотя бы с проверкой разобраться).
ПЕРВЫЙ ВИД (файл success_form_view.php):
Код:
<!DOCTYPE html>
<html>
<head>
    <title>Add article</title>
</head>
<body>
    <p>Статья успешно добавлена</p>
</body>
</html>
ВТОРОЙ ВИД (файл form_view.php):
Код:
<!DOCTYPE html>
<html>
<head>
    <title>Add article</title>
</head>
<body>
  <form method="post" action="http://localhost/ci/index.php/form/">
     Название статьи:<br><input type="text" name="title"><?php form_error('title'); ?><br>
     Текст статьи:<br><textarea name="text" rows="10" cols="40"></textarea><?php form_error('text'); ?><br>
     Дата добавления:<br><input type="text" name="date"><?php form_error('date'); ?><br>
     <input type="submit" name="add" value="Добавить">
   </form>
</body>
</html>
КОНТРОЛЛЕР:
Код:
class Form extends CI_Controller {
   public function index(){
     $this->load->library('form_validation');
     if(isset($_REQUEST['add'])){
       $rules['title']='required|xss_clean|min_length[5]|max_length[20]|trim';
       $rules['text']='required|xss_clean|max_length[2000]|trim';
       $rules['date']='required|xss_clean|max_length[10]|trim';
       $this->form_validation->set_rules($rules);
       $check=$this->form_validation->run();
       if($check==TRUE){
         $this->load->view('success_form_view');
       }else{
         $this->load->view('form_view');
       }
     }else{
       $this->load->view('form_view');
     }
   }
}
После клика на кнопку никакой проверки не происходит, в случае верного заполнения мне не выводистя надпись "Статья успешно добавлена", а возвращается все та же пустая форма, проверял $check функцией gettype, она boolean и там все время false.
Что я написал неправильно?
Спасибо!
 

Yan

Новичок
CodeIgniter - Валидация форм
Скорее всего, проблема в неверном формате массива $rules - по ссылке показан пример, как именно должен формироваться этот массив.
Вы правы, спасибо, изменил формат на такой:

Код:
$rules=array(
         array(
           'field' => 'title',
           'label' => 'Название статьи',
           'rules' => 'required|trim|min_length[5]|max_length[20]'
         ),
         array(
           'field' => 'text',
           'label' => 'Текст статьи',
           'rules' => 'required|trim|max_length[2000]'
         ),
         array(
           'field' => 'date',
           'label' => 'Дата добавления',
           'rules' => 'required|trim|max_length[10]'
         )       
);
Но чтобы заработало, пришлось удалить правило xss_clean, не подскажите почему с ним не работает проверка?
 
Последнее редактирование:

Andkorol

Новичок
Включи/смотри логи, ошибки валидации – где-то причина всплывёт.
 
Сверху