filament/forms
Filament Forms is a Laravel package for building powerful, reactive admin forms with a fluent, component-based API. Create fields, layouts, validation, conditional logic, and dynamic interactions quickly, with tight Livewire integration and great DX for panels and apps.
import AutoScreenshot from "@components/AutoScreenshot.astro" import UtilityInjection from "@components/UtilityInjection.astro"
The checkbox component, similar to a toggle, allows you to interact a boolean value.
use Filament\Forms\Components\Checkbox;
Checkbox::make('is_admin')
If you're saving the boolean value using Eloquent, you should be sure to add a boolean cast to the model property:
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
/**
* [@return](https://github.com/return) array<string, string>
*/
protected function casts(): array
{
return [
'is_admin' => 'boolean',
];
}
// ...
}
Checkbox fields have two layout modes, inline and stacked. By default, they are inline.
When the checkbox is inline, its label is adjacent to it:
use Filament\Forms\Components\Checkbox;
Checkbox::make('is_admin')
->inline()
When the checkbox is stacked, its label is above it:
use Filament\Forms\Components\Checkbox;
Checkbox::make('is_admin')
->inline(false)
<UtilityInjection set="formFields" version="5.x">As well as allowing a static value, the inline() method also accepts a function to dynamically calculate it. You can inject various utilities into the function as parameters.</UtilityInjection>
As well as all rules listed on the validation page, there are additional rules that are specific to checkboxes.
You may ensure that the checkbox is checked using the accepted() method:
use Filament\Forms\Components\Checkbox;
Checkbox::make('terms_of_service')
->accepted()
Optionally, you may pass a boolean value to control if the validation rule should be applied or not:
use Filament\Forms\Components\Checkbox;
Checkbox::make('terms_of_service')
->accepted(FeatureFlag::active())
<UtilityInjection set="formFields" version="5.x">As well as allowing a static value, the accepted() method also accepts a function to dynamically calculate it. You can inject various utilities into the function as parameters.</UtilityInjection>
You may ensure that the checkbox is not checked using the declined() method:
use Filament\Forms\Components\Checkbox;
Checkbox::make('is_under_18')
->declined()
Optionally, you may pass a boolean value to control if the validation rule should be applied or not:
use Filament\Forms\Components\Checkbox;
Checkbox::make('is_under_18')
->declined(FeatureFlag::active())
<UtilityInjection set="formFields" version="5.x">As well as allowing a static value, the declined() method also accepts a function to dynamically calculate it. You can inject various utilities into the function as parameters.</UtilityInjection>
How can I help you explore Laravel packages today?