public function beforeValidate() { if (!$this->slug) { $this->slug = yupe\helpers\YText::translit($this->name); $sl = \Yii::app()->db->createCommand()->select('slug')->from('site_store_product')->where('slug = :slug', [':slug' => $this->slug])->queryScalar(); if ($sl !== FALSE) { $this->slug = time() . '_' . $this->slug; } } foreach ((array) $this->_eavAttributes as $name => $value) { $model = Attribute::model()->getAttributeByName($name); if (!$model->isType(Attribute::TYPE_CHECKBOX) && $model->isRequired() && !$value) { $this->addError('eav.' . $name, Yii::t("StoreModule.default", "Необходимо заполнить поле «{title}».", ['{title}' => $model->title])); } } return parent::beforeValidate(); }