Met Laravel toon ik in allebei mijn projecten (kilometer registratie en maps) een bericht (Flash message) als er iets mis gaat. Het wordt met een code-library van Sweetalert gedaan. Dat ziet er vaak zo uit;
De onderstaande code staat bij mij, in een Laravel project, onder; AppHttp met de naam Flash. De code komt uit een les van Laracast.com en is aangepast door mij. Een website dat ik van harte aanraad!
<?php namespace AppHttp; /** * Class Flash * * @author Floris van Enter * @package AppHttp */ class Flash { /** * Save info for info message * * @param $title * @param $message * @return Session /app/Http/flash::create */ public function info($title, $message) { return $this->create($title, $message, 'info'); } /** * * Save info for error message * * @param $title * @param $message * @return Session /app/Http/flash::create */ public function error($title, $message) { return $this->create($title, $message, 'error'); } /** * Save info for success message * * @param $title * @param $message * @return Session /app/Http/flash::create */ public function success($title, $message) { return $this->create($title, $message, 'success'); } /** * Save info for warning message * * @param $title * @param $message * @return Session /app/Http/flash::create */ public function warning($title, $message) { return $this->create($title, $message, 'warning'); } /** * Save info for overlay message optional with succes, info, error, warning * * @param $title * @param $message * @param string $level * @return Session /app/Http/flash::create */ public function overlay($title, $message, $level = 'info') { return $this->create($title, $message, $level, 'flash_message_overlay'); } /** * Save message info in session for execution * @param $title * @param $message * @param string $level * @param string $key * @return Session */ public function create($title, $message, $level = 'info', $key = 'flash_message') { return session()->flash($key, [ 'title' => $title, 'message' => $message, 'level' => $level ]); } } /** * To successfully execute this code. * * A) At the following to your view; * @if (session()->has('flash_message')) <script type="text/javascript"> swal({ title: '{{ session('flash_message.title') }}', text: '{{ session('flash_message.message') }}', type: '{{ session('flash_message.level') }}', timer: 1700 }) </script> @endif @if (session()->has('flash_message_overlay')) <script type="text/javascript"> swal({ title: '{{ session('flash_message_overlay.title') }}', text: '{{ session('flash_message_overlay.message') }}', type: '{{ session('flash_message_overlay.level') }}', confirmButtonText: 'ok' }) </script> @endif * * B) At the following to a helper file to help execute the model; * function flash($title = null, $message = null) { $flash = app('AppHttpFlash'); if (func_num_args() == 0) { return $flash; } return $flash->info($title, $message); } * * C) And point to the following files (or merge them); * 1) sweetalert2.js * 2) sweetalert2.css * 3) Get them from; https://limonte.github.io/sweetalert2/ * * D) Fire alert with; * flash()->error('Niet gevonden!', 'Route is niet gevonden.'); * ** error can be warning, info, success overlay, etc. */