validateSearchQuery function
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;
}