Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 28 мар 2024, 17:28

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Основы валидации
СообщениеДобавлено: 10 май 2012, 15:04 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
В уроке "Основы валидации" мы рассмотрим, как производится проверка полей формы на соответствие правилам валидации.
Урок находится здесь: http://kohanaframework.su/advanced/basic_validation

_________________
kohanaframework.su - обучение фреймворку Kohana


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Основы валидации
СообщениеДобавлено: 03 окт 2012, 19:06 
Не в сети
Новичок
Аватара пользователя

Зарегистрирован: 02 окт 2012, 21:09
Сообщения: 29
Хотел бы высказать замечание по поводу автоматической проверки на пустоту.
В уроке написано следующее:

Метод rule принимает три параметра. Первый параметр — это имя поля (ключ массива). Если здесь указать TRUE, то правило будет применено для всех полей. Мы вполне можем переписать наш код вот так:
Код:
$post -> rule(TRUE, 'not_empty')
      -> rule('email', 'email');



Если здесь указать TRUE, то правило будет применено для всех элементов исходного массива валидатора, а не тех полей которые указаны методами rule().
Честного говоря мне такое поведение не нравится, может это и баг, не знаю. Нужно проверять только те поля которые указаны в rule().
Если не указать все поля исходного массива в правилах rule(), возникнет ошибка при условии что не указанное поле пустое:
Код:
$POST = array('name' => '', 'pass' => 'passvalue');
$reg_validator = Validation::factory($POST);
$reg_validator->rule(TRUE, 'not_empty')->rule('pass', 'email');
$reg_validator->check();
$reg_validator->errors('validation');



Ошибка:
Код:
Undefined index: name
SYSPATH\classes\kohana\validation.php


Последний раз редактировалось escalade 05 окт 2012, 17:59, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Основы валидации
СообщениеДобавлено: 03 окт 2012, 23:08 
Не в сети
Бывалый

Зарегистрирован: 16 апр 2012, 19:44
Сообщения: 113
Не совсем понятно, что именно вам не нравится....
Если вам не надо валидировать ВСЕ поля в массиве определенным правилом не делайте правило с TRUE, а валидируйте только те поля которые необходимо отдельными правилами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Основы валидации
СообщениеДобавлено: 05 окт 2012, 17:47 
Не в сети
Новичок
Аватара пользователя

Зарегистрирован: 02 окт 2012, 21:09
Сообщения: 29
Допустим я укажу все поля, а кто то сформирует форму с пустым доп полем и отправит форму.
Получим неожиданную ошибку, которая может повлиять на работу приложения.
Поэтому я не понимаю зачем проверять те поля которые не указанны правилами rule.

Допустим такая ошибка: пользователь добавлен в БД а письмо с ссылкой активации не отправлено. Ну это грубо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Основы валидации
СообщениеДобавлено: 05 окт 2012, 22:27 
Не в сети
Бывалый

Зарегистрирован: 29 авг 2012, 16:09
Сообщения: 46
escalade писал(а):
Поэтому я не понимаю зачем проверять те поля которые не указанны правилами rule.


А кто Вас заставляет проверять ВСЁ? Проверяйте только те, которые обязательны к заполнению.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group