2016-10-28 15 views
2

私は、この検証要求Laravel 5.2で検証フォーム要求を拡張する方法は?

<?php 

namespace App\Http\Requests; 

use App\Http\Requests\Request; 

class CreateUserRequest extends Request 
{ 
    /** 
    * Determine if the user is authorized to make this request. 
    * 
    * @return bool 
    */ 
    public function authorize() 
    { 
     return true; 
    } 

    /** 
    * Get the validation rules that apply to the request. 
    * 
    * @return array 
    */ 
    public function rules() 
    { 
     return [ 
      'email' => 'required|email|unique:users', 
      'password' => 'required|confirmed|min:6', 
      'full_name' => 'required', 
      'address' => 'required', 
      'phone' => 'required|numeric', 
      'family_name' => 'required', 
      'family_address' => 'required', 
      'family_phone' => 'required|numeric', 
      'idcard' => 'required|image', 
     ]; 
    } 
} 

を持っている私は今、私が検証する必要がありますが、フォームがほかのフィールドを持っている他のフォームを持っている私のコントローラメソッド

public function register(CreateUserRequest $request){ 
} 

でこのようにそれを使用することができます。

私はCreateUserRequest + newフィールドにフィールドを含む新しいRequestを作成できます。

しかし、これは悪い考えです。

CreateUserRequestを拡張して他のフィールドを追加する方法はありますか?

だから私はこの

public function othermethod(otherCreateUserRequest $request){ 
} 

すべてのヘルプ感謝のような他のコントローラメソッドで使用することができます。

多分このリファレンスのようなものmattstaufer laravel 5.0 form request

答えて

2

あなたはこのようなあなたのCreateUserRequestクラスを拡張することができます:私はそれを試していない

<?php 

namespace App\Http\Requests; 

use CreateUserRequest; 

Class OtherCreateUserRequest extends CreateUserRequest { 

    public function rules() 
    { 
     return parent::rules() + [ 
      'additional' => 'rule', 
     ]; 
    } 
} 
+0

OtherCreateUserRequestという名前の新しいファイルを作成する必要がありますか? CreateUserRequestファイル内に新しいクラスを作成できますか? –

+0

'OtherCreateUserRequest.php'という名前の新しいファイルで新しいクラスを作成します。 –

0

いますが、基本要求クラスを継承し、それを呼び出すことができるように親のルールメソッドです:

namespace App\Http\Requests; 

Class OtherCreateUserRequest extends CreateUserRequest { 

    public function rules() 
    { 
     return array_merge(parent::rules(), [ 
      'input' => 'more_rules', 
     ]); 
    } 
} 
関連する問題