Guías1 min de lectura
Cómo limitar clics en botones Livewire en Filament v3 (Rate Limiting fácil)
Ismael Santiago·7 de julio de 2025

Si usas Filament v3 y quieres evitar que un botón se dispare mil veces por minuto, te muestro cómo limitarlo en 2 pasos.
Instala el paquete
Abre tu terminal y ejecuta:
composer require danharrin/livewire-rate-limitingEste paquete es mantenido por el creador de Filament y funciona perfecto con cualquier componente Livewire.
Aplícalo en tu método
Supongamos que tienes una página personalizada y quieres limitar un método llamado generarInforme. Añade el trait WithRateLimiting:
<?php
use DanHarrin\LivewireRateLimiting\WithRateLimiting;
use DanHarrin\LivewireRateLimiting\Exceptions\TooManyRequestsException;
use Filament\Notifications\Notification;
class GenerarInforme extends Page
{
use WithRateLimiting;
public function generarInforme(): void
{
try {
$this->rateLimit(3); // máximo 3 veces por minuto
} catch (TooManyRequestsException $e) {
Notification::make()
->title('Demasiados intentos')
->body("Espera {$e->secondsUntilAvailable} segundos.")
->danger()
->send();
return;
}
}
}