我有这个验证请求
<?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 +新字段中包含新的请求。
但我认为这是不好的方式。
那么我如何扩展CreateUserRequest并添加其他字段?
所以我可以在其他控制器方法中使用像这样的public function othermethod(otherCreateUserRequest $request){
}
感谢您的帮助。
可能是这样的参考mattstaufer laravel 5.0表单请求
你可以这样扩展你的CreateUserRequest类:
<?php
namespace App'Http'Requests;
use CreateUserRequest;
Class OtherCreateUserRequest extends CreateUserRequest {
public function rules()
{
return parent::rules() + [
'additional' => 'rule',
];
}
}
我没有尝试过,但你可以继承基请求类并调用它的父规则方法:
namespace App'Http'Requests;
Class OtherCreateUserRequest extends CreateUserRequest {
public function rules()
{
return array_merge(parent::rules(), [
'input' => 'more_rules',
]);
}
}