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'');
}