tomatophp / filament-form-builder
Manage your forms using database and drop/drag component to build the form with Livewire component support for FilamentPHP
Package info
github.com/tomatophp/filament-form-builder
pkg:composer/tomatophp/filament-form-builder
Fund package maintenance!
Requires
- php: ^8.2
- filament/filament: ^5.0
- filament/spatie-laravel-media-library-plugin: ^5.0
- lara-zeus/spatie-translatable: ^2.0
- tomatophp/console-helpers: ^1.1
- tomatophp/filament-icons: ^5.0
- tomatophp/filament-translation-component: ^5.0
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.24
- orchestra/testbench: ^10.0|^11.0
- pestphp/pest: ^4.0|^5.0
- pestphp/pest-plugin-laravel: ^4.0|^5.0
- pestphp/pest-plugin-livewire: ^4.0|^5.0
- phpstan/extension-installer: ^1.4
- phpstan/phpstan-deprecation-rules: ^2.0
- phpstan/phpstan-phpunit: ^2.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-09-21 20:53:18 UTC
README
Filament form builder
Manage your forms using database and drop/drag component to build the form with Livewire component support for FilamentPHP
Screenshots
| Light | Dark |
|---|---|
![]() |
![]() |
![]() |
![]() |
Features
- Build forms from the panel (page, modal or slide-over forms with an endpoint and method)
- 21 field types (text, textarea, select, checkbox, radio, file, date, time, color, icon, toggle, markdown, rich text, key/value, repeater...)
- Translatable labels, placeholders, hints and validation messages
- Options, relations, sub forms and validation rules per field
- Preview a form and store its submissions as form requests
- Build a Filament schema from a stored form with
FilamentCMSFormBuilder::make('key')->build()
Requirements
| Package version | Filament | Laravel | PHP |
|---|---|---|---|
| 5.x | 5.x | 12.x, 13.x | 8.2+ |
| 1.x | 3.x | 10.x, 11.x | 8.1+ |
The Filament v3 line continues on the v3 branch.
Installation
composer require tomatophp/filament-form-builder
after install your package please run this command
php artisan filament-form-builder:install
finally register the plugin on /app/Providers/Filament/AdminPanelProvider.php
->plugin(\TomatoPHP\FilamentFormBuilder\FilamentFormBuilderPlugin::make())
The form resource is translatable. The plugin registers LaraZeus\SpatieTranslatable\SpatieTranslatablePlugin for you unless your panel already has it; choose the locales with FilamentFormBuilderPlugin::make()->locales(['en', 'ar']).
Use a stored form
use TomatoPHP\FilamentFormBuilder\Services\FilamentCMSFormBuilder; // Inside any Filament action or schema ->schema(FilamentCMSFormBuilder::make('contact-us')->build()) ->action(fn (array $data) => FilamentCMSFormBuilder::make('contact-us')->send($data));
Publish Assets
you can publish config file by use this command
php artisan vendor:publish --tag="filament-form-builder-config"
you can publish views file by use this command
php artisan vendor:publish --tag="filament-form-builder-views"
you can publish languages file by use this command
php artisan vendor:publish --tag="filament-form-builder-lang"
you can publish migrations file by use this command
php artisan vendor:publish --tag="filament-form-builder-migrations"
Changelog
Please see CHANGELOG for more information on what has changed recently.
Security
Please see SECURITY for more information about security.
Credits
License
The MIT License (MIT). Please see License File for more information.




