Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: CI - validation_errors() не выдает ошибок
Форумы портала PHP.SU » » CMS и фреймворки » CI - validation_errors() не выдает ошибок

Страниц (1): [1]
 

1. morcano - 20 Октября, 2015 - 15:14:38 - перейти к сообщению
Добрый день.
Изучаю Codeigniter, делаю валидацию форм стандартной библиотекой form_validation, проблема в том, что конструкция: echo validation_errors(); не выводит ничего абсолютно, хотя правила выполняются.

Более конкретно в примере:

Форма на примере одного поля (regform_view.php):
CODE (PHP):
скопировать код в буфер обмена
  1. <?php echo form_open(base_url()."my/registration"); ?>
  2. <?php echo validation_errors(); ?> 
  3.  <input name="login" id="login" class="textbox" placeholder="Логин:" type="text" value="<?php echo set_value('login'); ?>" maxlength="30"/>
  4. <input type="submit" class="button" id="submit" value="Submit">
  5. </form>


кусок отвечающий за регистрацию в контроллере My.php:

CODE (PHP):
скопировать код в буфер обмена
  1. function registration()
  2.         {
  3.             //вывод страницы (библиотека template генерит шаблон страницы)
  4.             $data['pages']= $this->pages_model->get_pages_from_top();
  5.             $name = 'my_cabinet/registration';
  6.             $this->template->page_view($data, $name);   
  7.             
  8.             //непосредственно валидация формы регистрации
  9.             $this->load->library('form_validation');
  10.            //обязательное уникальное поле
  11.             $this->form_validation->set_rules('login', 'Логин', 'required|is_unique[user.login]');
  12.             if ($this->form_validation->run() == FALSE)
  13.                   {
  14.                                              //валидация не прошла - выводим страницу с формой обратно + ошибки
  15.                                  $this->template->page_view($data, $name); 
  16.                   }
  17.                       else
  18.                           {
  19.                                 //...выводим вьюху с сообщением об удачной регистрации, например..
  20.                           }   
  21.         }


Правила required и is_unique выполняются - если ничего не введу или введу существующее в базе значение я останусь на странице с формой, но при этом никаких сообщений об ошибках ...
2. Panoptik - 20 Октября, 2015 - 16:48:01 - перейти к сообщению
а зачем вы изучаете CI ? это такой метод садомазохизма?
3. morcano - 20 Октября, 2015 - 17:20:24 - перейти к сообщению
CI - я выбрал для знакомства с MVC. В интернете достаточно много справочной информации и не такой сложный для новичка как те же laravel и yii (имхо) ориентируюсь на этот фреймфорк не более чем проходной. Убедительная просьба не оффтопить.
4. Panoptik - 20 Октября, 2015 - 18:13:31 - перейти к сообщению
в CI есть собственный форум. http://forum[dot]codeigniter[dot]com/index.php
Попробуйте обратиться туда

И еще в гугле искать не пробовали?
http://stackoverflow[dot]com/questio[dot][dot][dot]s-is-not-working
http://stackoverflow[dot]com/questio[dot][dot][dot]t-working-for-me
http://stackoverflow[dot]com/questio[dot][dot][dot]-returning-empty
5. DelphinPRO - 20 Октября, 2015 - 19:46:43 - перейти к сообщению
morcano пишет:
Убедительная просьба не оффтопить.
Возьми Ларавель для обучения. О довольно прост, и все еще актуален, в отличие от Кодигнайтера, который, хоть и пытается возрождаться, но все еще труп.
6. DeepVarvar - 20 Октября, 2015 - 21:02:42 - перейти к сообщению
morcano пишет:
echo validation_errors(); не выводит ничего абсолютно
Потому что у тебя уровень ошибок такой, что ты даже александрийскую колонну в глазу не заметишь.
Выставляй на максимум.

З.Ы.: В каждой непонятной ситуации используй var_dump
7. morcano - 21 Октября, 2015 - 09:21:58 - перейти к сообщению
DeepVarvar пишет:
morcano пишет:
echo validation_errors(); не выводит ничего абсолютно
Потому что у тебя уровень ошибок такой, что ты даже александрийскую колонну в глазу не заметишь.
Выставляй на максимум.

З.Ы.: В каждой непонятной ситуации используй var_dump



И? var_dump при выполнении правила возвращает true в обратном случае - false. Просто визуально текста ошибки нет.

Я был бы благодарен за конструктивную критику, где конкретно у меня ошибки?
8. DeepVarvar - 21 Октября, 2015 - 09:50:51 - перейти к сообщению
9. morcano - 21 Октября, 2015 - 10:00:23 - перейти к сообщению
Проблема решилась после рестарта веб сервера.

 

Powered by ExBB FM 1.0 RC1