2016-10-28 71 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字段中創建包含字段的新請求。

但我認爲這是不好的方法。

那麼如何擴展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', 
     ]); 
    } 
}