validate([ 'nama_lengkap' => 'required|string|max:255', 'email' => ['required', 'string', 'email', 'max:255', Rule::unique('users')->ignore($user->id)], 'foto' => 'nullable|image|mimes:jpeg,png,jpg,gif|max:2048', 'password' => 'nullable|string|min:8|confirmed', ]); $data = [ 'nama_lengkap' => $request->nama_lengkap, 'email' => $request->email, ]; if ($request->filled('password')) { $data['password'] = Hash::make($request->password); } if ($request->hasFile('foto')) { if ($user->foto) { Storage::disk('public')->delete($user->foto); } $data['foto'] = $request->file('foto')->store('foto-profil', 'public'); } $user->update($data); return redirect()->route('profile.edit')->with('success', 'Profil berhasil diperbarui.'); } }