2016-08-03 2 views
1

Это мой код формы запроса, я хочу, чтобы добавить новую переменную после успешной проверки, так что я могу получить доступ к этой переменной на мой контроллер:Laravel Форма запроса Добавление пользовательских переменных После проверки

class CouponRequest extends Request 
{ 
    /** 
    * Get the validation rules that apply to the request. 
    * 
    * @return array 
    */ 
    public function rules() 
    { 
     return [ 
      'start_year' => 'required', 
      'start_month' => 'required', 
      'start_day' => 'required', 
      'start_time' => 'required', 
      'finish_year' => 'required', 
      'finish_month' => 'required', 
      'finish_day' => 'required', 
      'finish_time' => 'required', 
     ]; 
    } 

    public function afterValidation() 
    { 
     $this->start_date = Carbon::create($this->start_year, $this->start_month, $this->start_day); 
    } 
} 

Таким образом, после проверки имеет не ошибка, я могу вызвать этот экземпляр у моего контроллера:

$request->start_date; 

Могу ли я это сделать?

ответ

0

Я сделал проверку в Контроллере. Метод имеет параметр «Запрос $ запрос». У меня есть я делаю это:

$input = $request->all(); 
$input['my_new_field] = 'the_data'; 
+0

да я знаю, но мне нужно, чтобы создать проверки при запросе формы –

+0

Ok. Затем вы можете сделать dd ($ request), чтобы узнать, присутствует ли это новое поле. –

2

Вы могли бы сделать это

public function afterValidation() 
{ 
    $this->request->add([ 
     'start_date' => Carbon::create($this->start_year, $this->start_month, $this->start_day) 
    ]); 
} 

public function validate() 
{ 
    parent::validate(); 

    $this->afterValidation(); 
} 

А затем доступ к атрибуту в контроллере, как

$request->get('start_date'); 
Смежные вопросы