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,
];

发表评论

电子邮件地址不会被公开。