لإضافة الحقول لعملية تعديل البيانات، فإنه يجب الذهاب إلى UserResource إلى الدالة form ونقوم بتحديد الحقول التي نريد القيام بعملية التعديل عليها
public static function form(Form $form): Form
{
return $form
->schema([
Forms\Components\TextInput::make('name')
->required(),
Forms\Components\TextInput::make('email')
->email()
->unique()
->required(),
]);
}كما نلاحظ أننا لمن نقم بتحديد حقل password وذلك لأننا هنا نريد أن نتعامل معها بشكل منفرد من خلال إظهار popu
<?php
namespace App\Filament\Resources\UserResource\Pages;
use App\Filament\Resources\UserResource;
use Filament\Actions;
use Filament\Forms\Components\TextInput;
use Filament\Notifications\Notification;
use Filament\Resources\Pages\EditRecord;
use Illuminate\Support\Facades\Hash;
class EditUser extends EditRecord
{
protected static string $resource = UserResource::class;
protected function getHeaderActions(): array
{
return [
Actions\Action::make('changePassword')
->form([
TextInput::make('new_password')
->password()
->label('New Password')
->required()
->rule('required|string|min:8|confirmed'), // Define the rules directly here
TextInput::make('new_password_confirmation')
->password()
->label('Confirm Password')
->required()
->same('new_password')
])
->action(function (array $data): void {
$this->record->update([
'password' => Hash::make($data['new_password']),
]);
Notification::make()
->title('Success')
->body('Password Updated Successfully')
->success()
->send();
})
];
}
}الأن لو ذهبنا لصفحة تعديل مستخدم معين سنرى أنه سيظهر لدينا button لتعديل كلمة المرور

وعند الضغط عليه ستظهر لنا popup
