Hw我可以在php artisan make:request发出的请求中获取Url参数(例如id)吗
我想创建一个由php artisan make:Request发出的请求,我可以在其中添加一个参数,例如,我在控制器中有以下验证器:Hw我可以在php artisan make:request发出的请求中获取Url参数(例如id)吗,php,laravel,Php,Laravel,我想创建一个由php artisan make:Request发出的请求,我可以在其中添加一个参数,例如,我在控制器中有以下验证器: $validator = Validator::make($request->all(), [ 'title' => 'required|unique:posts|max:{{number}}', 'body' => 'required', ]); 其中编号来自url参
$validator = Validator::make($request->all(), [
'title' => 'required|unique:posts|max:{{number}}',
'body' => 'required',
]);
其中编号来自url参数
如何在请求类中获取此url参数
这是我的请求类:
<?php
namespace Modules\Blog\Http\Requests;
use Illuminate\Contracts\Validation\Validator;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Http\Exceptions\HttpResponseException;
class SaveBlogCategoriesRequest extends FormRequest
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
dd($request->param);
return [
'lang' => 'required',
'name' => 'required',
'slug' => "required|unique:blog_categories_id,slug,", // here I want to add id from param
];
}
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
protected function failedValidation(Validator $validator)
{
$data = [
'status' => false,
'validator' => true,
'msg' => [
'e' => $validator->messages(),
'type' => 'error'
],
];
throw new HttpResponseException(response()->json($data));
}
}
对于请求类,您不需要实例化验证器
class ModelCreateRequest扩展了FormRequest
{
/**
*获取应用于请求的验证规则。
*
*@return数组
*/
公共职能规则()
{
//如果需要输入,可以通过$this->request访问;
$param=$this->request->get('param');
//或者你也可以直接访问它(是的,我知道这不是直观的)
$param=$this->param
返回[
“lang”=>“必需”,
“名称”=>“必需”,
'slug'=>“必需|唯一:blog_categories_id,slug,”.$param,
];
}
}
对于请求类,您不需要实例化验证器
class ModelCreateRequest扩展了FormRequest
{
/**
*获取应用于请求的验证规则。
*
*@return数组
*/
公共职能规则()
{
//如果需要输入,可以通过$this->request访问;
$param=$this->request->get('param');
//或者你也可以直接访问它(是的,我知道这不是直观的)
$param=$this->param
返回[
“lang”=>“必需”,
“名称”=>“必需”,
'slug'=>“必需|唯一:blog_categories_id,slug,”.$param,
];
}
}
使用dd($this)
获取请求类中的请求对象使用dd($this)
获取请求类中的请求对象$request->param
如果您的参数名是id,那么就像$request->id
我的请求类中没有$request使用request()
而不是$request
使用$validated=$request->validated()@德米特里,但是。。。“我的请求类中没有$request”$request->param
如果您的参数名是id,那么就像$request->id
我的请求类中没有$request使用request()
而不是$request
使用$validated=$request->validated()@德米特里,但是。。。“我的请求类中没有$request”,但如果我想从请求类中的Route::get('controllerMethod/{key}',$controller.'controllerMethod')获取key的值;可能吗?@Marius同样,使用$this->key
但如果我想从我的请求类中的Route::get('controllerMethod/{key}',$controllerMethod')获取key的值;有可能吗?@Marius same,使用$this->key