© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
FilamentF
Filament•2y ago•
5 replies
Ben

Custom Save Button for Create/Edit with Disable on FileUpload

Hello Filament Friends,
I have a problem with implementing different Save Buttons. My process should be such that the Save buttons determine whether an entry is active or not (published). So, my implementation has several buttons below the form, including "Save" and "Activate and Save." I'm not sure if my implementation is good. Depending on which button is pressed, I adjust data, like this:

Action::make('saveAndActivate')
  ->label('Activate & Save')
  ->color('success')
  ->action(fn () => $this->saveAndActivate());
...
public function saveAndActivate() {
    $this->data['active'] = 1;
    return $this->save();
}
Action::make('saveAndActivate')
  ->label('Activate & Save')
  ->color('success')
  ->action(fn () => $this->saveAndActivate());
...
public function saveAndActivate() {
    $this->data['active'] = 1;
    return $this->save();
}


Well, that works, but if uploads are not yet completed, one can click these buttons and the uploads are lost. In the case of the standard Save button, submission is blocked until completion. And that's what i want to achieve.

I tried to use the standard Actions and change them, but it didn't work. Like this...

$this->getSaveFormAction()
  ->mutateFormDataUsing(function (array $data): array {
      // this is not executed
      $data['active'] = true;
      return $data;
  })
  ->label('Activate & Save')
$this->getSaveFormAction()
  ->mutateFormDataUsing(function (array $data): array {
      // this is not executed
      $data['active'] = true;
      return $data;
  })
  ->label('Activate & Save')

I know that there are methods to modify data before saving, but I'm not sure how to determine which button was pressed at that point.

And honestly, I haven't fully understood what the "submit('save')" in the standard action exactly means. I still need to figure that out.

Thank you!
Filament banner
FilamentJoin
A powerful open source UI framework for Laravel • Build and ship admin panels & apps fast with Livewire
20,307Members
Resources

Similar Threads

Was this page helpful?
Recent Announcements

Similar Threads

Custom save behavior for FileUpload
FilamentFFilament / ❓┊help
13mo ago
Disable "Create" button
FilamentFFilament / ❓┊help
3y ago
Disable "Save changes" button
FilamentFFilament / ❓┊help
3y ago
Custom "Save" button to create or save a form
FilamentFFilament / ❓┊help
2y ago