
Implementing Authorization for Creating Options
- Published: 15 Apr 2024 Updated: 04 May 2024
How to Apply Authorization on Create Option Action for Select Field

When using createOptionForm
for a select menu, you can customize the add action (+). One important thing is to add authorization to that action, for example, from a policy.
This will hide the add button next to the select menu when the user is not authorized to create, and the same goes for the edit action.
1Select::make('category_id')
2 //...
3 ->relationship(...)
4 ->createOptionForm(...)
5 ->createOptionAction(
6 fn(Action $action) => $action->hidden(
7 auth()->user()->cannot(
8 'create',
9 Category::class
10 )
11 )
12 ),

Related Tricks:
how to use a resource with multiple models
Bring the sticky actions back form filament v2
Form Builder lets you build dynamic, versioned forms in Filament and attach them to any model. Responses are stored in JSON with zero boilerplate.
Unrequire fields recursively when saving as draft
Custom copy action, click the icon to copy the content