1. 在Middleware目录创建类BeforeAutoTrimmer.php
<?php namespace App\Http\Middleware; use Closure; class BeforeAutoTrimmer { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next){ $input = $request->all(); if ($input) { array_walk_recursive($input, function (&$item, $key) { // RULES 1 FOR STRING AND PASSWORD if (is_string($item) && !str_contains($key, 'password')) { $item = trim($item); } // RULES 2 FOR NULL VALUE $item = ($item == "") ? null : $item; }); $request->merge($input); } return $next($request); } }
2. 注册Middleware(app/Http/Kernel.php)
protected $middleware = [ \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, \App\Http\Middleware\EncryptCookies::class, \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, \Illuminate\Session\Middleware\StartSession::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class, \App\Http\Middleware\OAuthExceptionHandlerMiddleware::class, \App\Http\Middleware\BeforeAutoTrimmer::class, ];