verifycsrftoken tokenmismatchexception laravel exception exception-handling laravel-5

laravel - tokenmismatchexception in verifycsrftoken php line 53



Manejar TokenMismatchException en laravel 5 (2)

Necesito manejar TokenMismatchException en laravel 5 de tal manera que si token no coincide, mostrará algún mensaje al usuario en lugar de TokenMismatchException error TokenMismatchException .


Puede crear un procesamiento de excepción personalizado en la clase App/Exceptions/Handler (en el archivo /app/Exceptions/Handler.php ).

Por ejemplo, para representar una vista diferente cuando se TokenMismatchException error TokenMismatchException , puede cambiar el método de render a algo como esto:

/** * Render an exception into an HTTP response. * * @param /Illuminate/Http/Request $request * @param /Exception $e * @return /Illuminate/Http/Response */ public function render($request, Exception $e) { if ($e instanceof /Illuminate/Session/TokenMismatchException) { return response()->view(''errors.custom'', [], 500); } return parent::render($request, $e); }


Tendrá que escribir una función para representar el error TokenMismatchException. Agregará esa función a su clase App / Exceptions / Handler (en el archivo /app/Exceptions/Handler.php) de esta manera:

// make sure you reference the full path of the class: use Illuminate/Session/TokenMismatchException; class Handler extends ExceptionHandler { protected $dontReport = [ HttpException::class, ModelNotFoundException::class, // opt from logging this error to your log files (optional) TokenMismatchException::class, ]; public function render($request, Exception $e) { // Handle the exception... // redirect back with form input except the _token (forcing a new token to be generated) if ($e instanceof TokenMismatchException){ return redirect()->back()->withInput($request->except(''_token'')) ->withFlashDanger(''You page session expired. Please try again''); }