laravel:避免在get方法中使用其他参数

时间:2018-10-30 23:30:44

标签: laravel laravel-5 laravel-routing laravel-request

例如,我有这个网址:

http://127.0.0.1/public?valid=test1&invalid=test2

因此,我将2个参数发送到其控制器中的相关功能:

             <form class="navbar-form navbar-left" asp-action="SearchResult" asp-controller="Home" method="get">

                <div class="form-group">
                    <input type="text" id="txtsearch" name="txtsearch" class="form-control" placeholder="Search">
                </div>
                <button type="submit" class="btn btn-default">Search</button>
            </form>

我希望这个网址有效:

       $input = $request->all();
       $validator = Validator::make($input, [
         'valid' => 'nullable|string',
       ]);

       if ($validator->fails())
       {
         return back()->withInput()->withErrors($validator);
       }

但是为此:     http://127.0.0.1/public?invalid=test2

我不希望此url有效,因为我没有在Validator中定义http://127.0.0.1/public?valid=test1 参数(路由接受了该URL):

laravel是否支持拒绝其他参数?

laravel网站也存在该错误

invalid

我的解决方案:

https://laravel.com/?asd=asd

1 个答案:

答案 0 :(得分:0)

您可以使用Automatically manage signing来获取所需的参数:

https://laravel.com/docs/5.7/requests#retrieving-input

$request->only()