onPHP/onphp-framework — pull request #169 by AlexeyDsov (2012-12-26 20:59:15+00:00)
Title: PrimitiveRule, изменение внутренностей Form::addRule, checkRules и т.д.

PrimitiveRule, вырезанный из #101. Оно мне понравилось и хочется заюзать.

Лирическое отступление. Решил вырезать его оттуда т. к. все вместе выглядит большим и пугающим, а добровольцы желающие его дописать пока еще [не разобрались как дружить с тестами](https://github.com/onPHP/onphp-framework/pull/168), и не сильно загорелись желанием разделять код на части.

Идея следующая

* Убираем из формы отдельный массив rule
* Делаем класс PrimitiveRule который болтается взамен в общем списке примитивов у формы, делаем что б валидировал Form'у через метод import
* не даём ему импортиться при вызовах Form::import*
* но импортим его при вызове Form::checkRules
* API расширяется, BC сохраняется
* Методы Form::addRule($name, $expression) остаются т. к. порой удобней использовать их
* Из изначальной задумки убрано свойство PrimitiveRule->form и соответственно метод PrimitiveRule::setForm, взамен них примитив ожидает что при импорте вторым аргументом будет передана форма.
* на всё про всё ушло:
* час с небольшим на вырезание нужного кода из #101,
* еще 20 минут на тестирование и осмотр тестов (их не дописывал, т. к. [они были написаны раньше](https://github.com/onPHP/onphp-framework/blame/master/test/core/FormTest.class.php#L70) на пару опечаток с ними поправил)
* еще 20 минут на написание реквеста