Русскоязычный форум, посвященный фреймворку Kohana
http://forum.kohanaframework.su/

Основы валидации
http://forum.kohanaframework.su/viewtopic.php?f=21&t=182
Страница 1 из 1

Автор:  admin [ 10 май 2012, 15:04 ]
Заголовок сообщения:  Основы валидации

В уроке "Основы валидации" мы рассмотрим, как производится проверка полей формы на соответствие правилам валидации.
Урок находится здесь: http://kohanaframework.su/advanced/basic_validation

Автор:  escalade [ 03 окт 2012, 19:06 ]
Заголовок сообщения:  Re: Основы валидации

Хотел бы высказать замечание по поводу автоматической проверки на пустоту.
В уроке написано следующее:

Метод 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

Автор:  mamahtehok [ 03 окт 2012, 23:08 ]
Заголовок сообщения:  Re: Основы валидации

Не совсем понятно, что именно вам не нравится....
Если вам не надо валидировать ВСЕ поля в массиве определенным правилом не делайте правило с TRUE, а валидируйте только те поля которые необходимо отдельными правилами.

Автор:  escalade [ 05 окт 2012, 17:47 ]
Заголовок сообщения:  Re: Основы валидации

Допустим я укажу все поля, а кто то сформирует форму с пустым доп полем и отправит форму.
Получим неожиданную ошибку, которая может повлиять на работу приложения.
Поэтому я не понимаю зачем проверять те поля которые не указанны правилами rule.

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

Автор:  evgentus [ 05 окт 2012, 22:27 ]
Заголовок сообщения:  Re: Основы валидации

escalade писал(а):
Поэтому я не понимаю зачем проверять те поля которые не указанны правилами rule.


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

Страница 1 из 1 Часовой пояс: UTC + 4 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/