[ 'username', 'email', 'phone', ], self::SCENARIO_QUESTION => [ 'username', 'email', 'phone', 'message' ], self::SCENARIO_BOOKING => [ 'username', 'email', 'phone', 'date_from', 'date_to', ], self::SCENARIO_KEY => [ 'username', 'email', 'phone', 'date_count', ], ]; return array_merge($scenario, $new_scenarios); } public function rules() { return [ [ [ 'username' ], 'string', 'min' => 2, 'max' => 255, ], [ 'email', 'email', ], [ [ 'email', 'phone', ], 'string', 'max' => 255, ], [ 'phone', 'required', ], [ 'message', 'string', ], [ ['date_from', 'date_to'], 'safe', ], [ ['date_from', 'date_to'], 'filter', 'filter' => function($value) { return strtotime($value); } ], [ 'date_count', 'integer', ], ]; } public function attributeLabels() { return [ 'username' => \Yii::t('app', 'Имя'), 'phone' => \Yii::t('app', 'телефон'), 'email' => \Yii::t('app', 'e-mail'), 'message' => \Yii::t('app', 'сообщение'), 'date_to' => \Yii::t('app', 'дата проката до'), 'date_from' => \Yii::t('app', 'дата проката с'), 'date_count' => \Yii::t('app', 'количество дней'), ]; } }