
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:
Bring the sticky actions back form filament v2
Usability: Knowing whether or not the record was saved.
Translating components can often be a repetitive task, Fortunately, there's a neat trick to automate this process, making your components instantly translatable.
Let Users to Select All Options with a Simple Hint Action
How to Apply Authorization on Create Option Action for Select Field