選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

UpdateUserPassword.php 929B

123456789101112131415161718192021222324252627282930
  1. <?php
  2. namespace App\Actions\FilamentCompanies;
  3. use App\Models\User;
  4. use Illuminate\Support\Facades\Hash;
  5. use Illuminate\Support\Facades\Validator;
  6. use Wallo\FilamentCompanies\Contracts\UpdatesUserPasswords;
  7. class UpdateUserPassword implements UpdatesUserPasswords
  8. {
  9. /**
  10. * Validate and update the user's password.
  11. *
  12. * @param array<string, string> $input
  13. */
  14. public function update(User $user, array $input): void
  15. {
  16. Validator::make($input, [
  17. 'current_password' => ['required', 'string', 'current_password:web'],
  18. 'password' => ['required', 'string', 'min:8', 'confirmed'],
  19. ], [
  20. 'current_password.current_password' => __('filament-companies::default.errors.password_does_not_match'),
  21. ])->validateWithBag('updatePassword');
  22. $user->forceFill([
  23. 'password' => Hash::make($input['password']),
  24. ])->save();
  25. }
  26. }