Skip to content
Code and Bytes

Code and Bytes

Cómo mostrar alertas en Laravel con SweetAlert2 y validaciones personalizadas

Posted on 17 October, 202411 April, 2026 By jaime

En esta entrada te mostraré cómo integrar SweetAlert2 en Laravel para mostrar alertas interactivas al eliminar registros. Además, implementaremos validaciones que verifican si hay dependencias antes de eliminar, asegurando que el proceso sea seguro y controlado. Con un ejemplo práctico, veremos cómo SweetAlert2 mejora la experiencia de usuario al mostrar mensajes personalizados según el resultado de la operación.

class RoleController extends Controller
{
    public function destroy(Role $role)
    {
        if ($role->users()->exists()) {
            return response()->json([
                'message' => __('Exists :quantity users with this role', ['quantity' => $role->users()->count()]),
            ], 409);
        }

        $role->delete();

     return response()->json([
            'message' => __('Role deleted successfully'),
        ]);
    }
}

Blade

@section('content')
<button class="btn btn-sm btn-danger" onclick="deleteData({{ $role->id }})">
    <i class="ti ti-trash text-white"></i>
</button>
@endsection
@push('scripts')
    <script>
        function deleteData(id) {
            Swal.fire({
                title: '{{ __('Are you sure?') }}',
                text: '{{ __('You will not be able to recover this record!') }}',
                icon: 'warning',
                showCancelButton: true,
                confirmButtonText: '{{ __('Yes, delete it!') }}',
                cancelButtonText: '{{ __('Cancel') }}'
            }).then((result) => {
                if (result.isConfirmed) {
                    $.ajax({
                        url: '{{ route('roles.destroy', ':id') }}'.replace(':id', id),
                        type: 'POST',
                        data: {
                            _method: 'DELETE',
                            _token: '{{ csrf_token() }}'
                        },
                        success: function(response) {
                            message = response.message;
                            Swal.fire(
                                '{{ __('Deleted!') }}',
                                message,
                                'success'
                            ).then(() => {
                                location.reload();
                            });
                        },
                        error: function(response) {
                            message = JSON.parse(response.responseText).message;
                            Swal.fire(
                                '{{ __('Error!') }}',
                                message,
                                'warning'
                            );
                        }
                    });
                }
            });
        }
    </script>
@endpush

Laravel

Post navigation

Previous post
Next post

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Buscar

Categorias

  • AI
  • Asterisk
  • Bases de datos
  • DevOps
  • Git
  • HTML
  • Laravel
  • Linux
  • MCP Server
  • Mikrotik
  • MySQL
  • n8n
  • Personal
  • PHP
  • Python
  • Software recomendado
  • Tips
  • VSCode
  • vTiger
  • Windows
  • Wordpress
©2026 Code and Bytes | WordPress Theme by SuperbThemes