|string> */ public function rules(): array { $toBeEditedUser = $this->route()->parameter('user'); return [ 'username' => ['nullable', 'min:2', 'max:255', isset($toBeEditedUser) ? Rule::unique('users')->ignore($toBeEditedUser->id) : Rule::unique('users')], 'phone' => ['required', 'max:255', new PhoneNumber], 'fullname' => 'nullable | max:255', 'role' => ['nullable', 'array', 'exists:roles,id'], 'profile_url' => ['nullable', 'exists:media,url'], 'email' => ['nullable', 'email', 'max:255', isset($toBeEditedUser) ? Rule::unique('users')->ignore($toBeEditedUser->id) : Rule::unique('users')], 'password' => [isset($toBeEditedUser) ? 'nullable' : 'required', 'min:8' , 'confirmed'], 'level' => ['required', Rule::in(['مدیر' , 'پزشک' , 'سرپرست'])], ]; } }