
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:
Form Builder lets you build dynamic, versioned forms in Filament and attach them to any model. Responses are stored in JSON with zero boilerplate.
make all Field or any components translatable
Let Users to Select All Options with a Simple Hint Action
Bring the sticky actions back form filament v2
toggle the visibility of an action when hover the component