route('user')?->id; return [ 'username' => [ 'required', 'string', 'max:20', 'min:5', 'alpha_dash', $userId === null ? Rule::unique('users') : Rule::unique('users')->ignore($userId), ], 'email' => [ 'required', 'string', 'email', 'max:255', $userId === null ? Rule::unique('users') : Rule::unique('users')->ignore($userId), ], // Profile 'full_name' => ['required', 'string', 'max:150'], 'phone_number' => ['required', 'string', 'max:20'], 'address' => ['required', 'string'], 'gender' => ['required', 'string', Rule::in(array_values(Gender::cases()))], 'birth_date' => ['required', 'date'], 'birth_place' => ['required', 'string', 'max:100'], // Lecturer fields 'lecturer_number' => [ 'required', 'string', 'max:20', Rule::unique('lecturers')->ignore($userId, 'user_id'), ], 'department_id' => [ 'required', 'integer', Rule::exists('departments', 'id'), ], ]; } }