validateSearchQuery function

String validateSearchQuery(
  1. String? query, {
  2. bool? enableSecurity,
})

Validates and sanitizes search query. Returns the validated query string.

Implementation

String validateSearchQuery(String? query, {bool? enableSecurity}) {
  final shouldValidate =
      enableSecurity ?? SearchBarSecurityConfig.enforceValidation;

  if (query == null || query.isEmpty) return '';
  if (!shouldValidate) return query;

  // Trim whitespace
  String sanitized = query.trim();

  // Enforce max length
  if (sanitized.length > SearchBarSecurityConfig.maxQueryLength) {
    if (SearchBarSecurityConfig.enableSecurityLogging) {
      debugPrint(
        '[SAC SearchBar Security] Query length ${sanitized.length} exceeds max ${SearchBarSecurityConfig.maxQueryLength}',
      );
    }
    sanitized = sanitized.substring(0, SearchBarSecurityConfig.maxQueryLength);
  }

  return sanitized;
}