--- title: Checkbox --- import AutoScreenshot from "@components/AutoScreenshot.astro" import UtilityInjection from "@components/UtilityInjection.astro" ## Introduction The checkbox component, similar to a [toggle](toggle), allows you to interact a boolean value. ```php 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](https://laravel.com/docs/eloquent-mutators#attribute-casting) to the model property: ```php use Illuminate\Database\Eloquent\Model; class User extends Model { /** * @return array */ protected function casts(): array { return [ 'is_admin' => 'boolean', ]; } // ... } ``` ## Positioning the label above 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: ```php use Filament\Forms\Components\Checkbox; Checkbox::make('is_admin') ->inline() ``` When the checkbox is stacked, its label is above it: ```php use Filament\Forms\Components\Checkbox; Checkbox::make('is_admin') ->inline(false) ``` 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. ## Checkbox validation As well as all rules listed on the [validation](validation) page, there are additional rules that are specific to checkboxes. ### Accepted validation You may ensure that the checkbox is checked using the `accepted()` method: ```php 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: ```php use Filament\Forms\Components\Checkbox; Checkbox::make('terms_of_service') ->accepted(FeatureFlag::active()) ``` 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. ### Declined validation You may ensure that the checkbox is not checked using the `declined()` method: ```php 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: ```php use Filament\Forms\Components\Checkbox; Checkbox::make('is_under_18') ->declined(FeatureFlag::active()) ``` 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.