validate([ 'username' => [ 'required', 'string', 'max:255', Rule::unique('users')->ignore($user->id) ], 'email' => [ 'required', 'string', 'email', 'max:255', Rule::unique('users')->ignore($user->id) ], 'phone' => ['required', 'string', 'max:15'], 'address' => ['required', 'string', 'max:255'], 'password' => ['nullable', 'string', 'min:8'], ], [ 'username.required' => 'Username harus diisi', 'username.unique' => 'Username sudah digunakan', 'email.required' => 'Email harus diisi', 'email.email' => 'Format email tidak valid', 'email.unique' => 'Email sudah digunakan', 'phone.required' => 'Nomor telepon harus diisi', 'address.required' => 'Alamat harus diisi', 'password.min' => 'Password minimal 8 karakter', ]); try { // Update data user $userData = [ 'username' => $request->username, 'email' => $request->email, 'no_telp' => $request->phone, 'alamat' => $request->address, ]; // Update password jika diisi if ($request->filled('password')) { $userData['password'] = Hash::make($request->password); } $user->update($userData); return redirect()->route('profile.index') ->with('success', 'Profil berhasil diperbarui'); } catch (\Exception $e) { return redirect()->back() ->with('error', 'Terjadi kesalahan saat memperbarui profil') ->withInput(); } } }