Блог

YRequiredValidator со свойством allowEmpty

Большинство валидаторов в Yii имеют свойство allowEmpty, которое означает условие когда проверяемый атрибут может быть пустым. Исключением из этого большинства является CRequiredValidator, у которого данного свойства нет. Вообще это логично, так как этот валидатор необходим, чтобы проверить обязательное присутствие значения, однако возникают ситуации когда обязательность того или иного атрибута зависит от внешних настроек. Я взял стандартный класс CRequiredValidator и добавил всего несколько строк кода, для реализации необходимого мне поведения.

Теперь я могу писать вот так (отрывок метода rules()):
....
array('verifyCode','YRequiredValidator','allowEmpty' => !Yii::app()->controller->module->showCaptcha),
....


Может данная возможность еще кому-нибудь пригодится.

скачать
исходный код

Юпи! — CMS на Yii – http://yupe.ru

Исходный код – https://github.com/yupe/yupe

Присоединяйтесь!