2016-08-03 9 views
1

Dies wird meine Form Anforderungs-Code, ich möchte neue Variable hinzuzufügen, nach der Validierung Erfolg, so dass ich diese Variable an meinem Controller zugreifen kann:Laravel Formular hinzufügen Anfrage Benutzerdefinierte Variable Nach Validierung

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); 
    } 
} 

So nach der Validierung nicht hat Fehler, ich kann diese Instanz an meinem Controller aufrufen:

$request->start_date; 

Könnte ich das tun?

Antwort

0

Ich machte die Validierung in der Steuerung. Die Methode verfügt über einen Parameter "Request $ request". Ich habe ein ich dies tun:

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

ja, ich weiß, aber ich brauche die Validierung zu erstellen bei Formularanfrage –

+0

Ok. Dann können Sie eine dd ($ Anfrage) machen, um zu sehen, ob dieses neue Feld vorhanden ist. –

2

Sie könnten dies tun

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(); 
} 

Und dann Zugriff auf das Attribut in Ihrem Controller als

$request->get('start_date');