['name', 'phone'], self::SCENARIO_CALLBACK => ['phone'], ]); return $scenarios; } /** * @inheritdoc */ public function behaviors() { return [ [ 'class' => TimestampBehavior::className(), 'createdAtAttribute' => 'date_add', 'updatedAtAttribute' => false, ], [ 'class' => AttributeBehavior::className(), 'attributes' => [ ActiveRecord::EVENT_BEFORE_INSERT => 'ip', ], 'value' => function($event) { return \Yii::$app->request->userIP; }, ] ]; } /** * @inheritdoc */ public function rules() { return [ [['phone', 'name'], 'required'], [['phone'], 'match', 'pattern' => '/^\+38\(\d{3}\)\d{3}-\d{2}-\d{2}$/'], [['name', 'phone'], 'string', 'max' => 255], ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'feedback_id' => Yii::t('app', 'Feedback ID'), 'name' => Yii::t('app', 'Имя'), 'phone' => Yii::t('app', 'Телефон'), 'date_add' => Yii::t('app', 'Date Add'), 'ip' => Yii::t('app', 'Ip'), ]; } }