input($field) === '') { $this->merge([$field => null]); } } if ($this->has('email')) { $this->merge([ 'email' => strtolower(trim((string) $this->input('email'))), ]); } } public function authorize(): bool { return true; } public function rules(): array { $userId = $this->route('user'); $userId = is_object($userId) ? $userId->id : $userId; return [ 'name' => 'sometimes|required|string|max:255', 'email' => 'sometimes|required|email|unique:users,email,'.$userId, 'phone' => 'nullable|string|max:50', 'job_title' => 'nullable|string|max:255', 'department' => 'nullable|string|max:255', 'department_id' => 'nullable|exists:departments,id', 'role_id' => 'nullable|exists:roles,id', 'status' => 'nullable|string|in:active,inactive', 'password' => 'nullable|min:8', ]; } }