четверг, 19 февраля 2015 г.

YII2 beforeValidate баг?

Вот такой вот незатейливый код
 public function beforeValidate() {
      ..................................
        parent::beforeValidate();
    }
 В YII2 модели приводит к очень интересному эффекту.   Перестают вызываться валидаторы. Причем очень хитро. для клиентской части валидаторы генерятся и раобтают. Для серверной, вызываются только валидаторы наследованные от Validator. Те же, что  реализованы в виде методов самой модели просто игнорируются.
Прчина кроется в том, что в вышеприведенном коде метод beforeValidate  не возвращает true или false в явном виде.   Ну да. ошибочная реализация метода. Описка походу.
вместо
return parent::beforeValidate();
просто
parent::beforeValidate();
Но  обидно. Никаких исключений или предупреждений не выбрасывается. А  код начинает  глючит в совсем другом месте.  Мелочь, а неприятно.


1 комментарий: