如何在 Laravel 5.2 中扩展验证表单请求?

Dar*_*ber 5 php laravel

我有这个验证请求

<?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',
        ];
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以在我的控制器方法中像这样使用它

public function register(CreateUserRequest $request){
}
Run Code Online (Sandbox Code Playgroud)

现在我有其他需要验证的表单,但表单有附加字段。

我知道,我可以创建包含 CreateUserRequest + 新字段中的字段的新请求。

但我认为这是不好的方式。

那么我如何扩展 CreateUserRequest 并添加其他字段?

所以我可以在其他控制器方法中使用这样的

public function othermethod(otherCreateUserRequest $request){
}
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏。

也许像这个参考mattstaufer laravel 5.0 表单请求

bai*_*kho 8

您可以像这样扩展 CreateUserRequest 类:

<?php

namespace App\Http\Requests;

use CreateUserRequest;

Class OtherCreateUserRequest extends CreateUserRequest {

    public function rules()
    {
        return parent::rules() + [
            'additional' => 'rule',
        ];
    }
}
Run Code Online (Sandbox Code Playgroud)