[ 'name', 'phone', ], self::SCENARIO_CALLBACK => [ 'phone' ], ] ); return $scenarios; } /** * @inheritdoc */ public function behaviors() { return [ [ 'class' => TimestampBehavior::className(), '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 [ 'id' => Yii::t('app', 'id'), 'name' => Yii::t('app', 'name'), 'phone' => Yii::t('app', 'phone'), 'created_at' => Yii::t('app', 'created_at'), 'ip' => Yii::t('app', 'ip'), ]; } }