Ahm*_*Els 2 forms methods url get laravel
我用 GET 方法构建了表单,但是当我提交表单时,空字段也传递给 url,我可以排除传递给 url 的空字段吗?
例如 > 当我提交表单 url 更改为:
?jobTitle=Title&jobCompany=CompanyName&jobGovernorate=&jobLocation=&postingDate=ad
Run Code Online (Sandbox Code Playgroud)
在此示例中,jobGovernorate 和 jobLocation 为空,因此我希望在提交表单时跳过这些表单。
如果有办法获得这样的网址
?jobTitle=Title&jobCompany=CompanyName&postingDate=ad
Run Code Online (Sandbox Code Playgroud)
因为 jobGovernorate 和 jobLocation 为空
抱歉英语不好,谢谢。
您可以使用中间件解决您的问题
class StripEmptyParams
{
public function handle($request, Closure $next)
{
$query = request()->query();
$querycount = count($query);
foreach ($query as $key => $value) {
if ($value == '') {
unset($query[$key]);
}
}
if ($querycount > count($query)) {
$path = url()->current() . (!empty($query) ? '/?' . http_build_query($query) : '');
return redirect()->to($path);
}
return $next($request);
}
}
Run Code Online (Sandbox Code Playgroud)
然后调用特定路线,如下面的代码
Route::get('/search','YourController@search')->middleware(StripEmptyParams::class);
Run Code Online (Sandbox Code Playgroud)