gpt4 book ai didi

php - 如何在 Laravel 5 中验证路由参数?

转载 作者:IT王子 更新时间:2023-10-28 23:55:29 26 4
gpt4 key购买 nike

如你所知,Laravel 5 改变了你调用 validator 的方式,旧方法是调用 validator facade,但现在有 ValidatesRequests 基本 Controller 类中的特征,但是 validate 方法接受请求作为值数组,但是当您定义路由参数时,这些值不会存储在 Request 中,那么如何验证这些参数呢?

编辑:

路线:

Route::get('/react-api/{username}', 'ProfileController@getUsername');

Controller :

public function getUsername(Request $request, $username)
{
$v = $this->validate($request, ['username' => 'required']);
}

那么,问题是我如何验证这个用户名参数?

最佳答案

如果您打算直接在您的 Controller 方法中执行此操作,您可以执行以下操作:

    public function getUser(Request $request)
{
$request->merge(['id' => $request->route('id')]);
$request->validate([
'id' => [
'required',
'exists:users,id'
]
]);
}

要在自定义 FormRequest 类中执行此操作,请添加以下内容:

    protected function prepareForValidation() 
{
$this->merge(['id' => $this->route('id')]);
}

在您的规则方法中:

    public function rules()
{
return [
'id' => [
'required',
'exists:users,id'
]
];
}

关于php - 如何在 Laravel 5 中验证路由参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29578153/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com