isValidConfig static method
Validates if a ToastrConfig is properly configured with security checks
Implementation
static bool isValidConfig(ToastrConfig config) {
// Message cannot be empty after sanitization
final sanitizedMessage = sanitizeHtml(config.message);
if (sanitizedMessage.trim().isEmpty) {
return false;
}
// Check for dangerous patterns in original message
if (ToastrSecurityConfig.containsDangerousPattern(config.message)) {
return false;
}
// Duration should be within safe limits
if (config.duration < ToastrSecurityConfig.minDuration ||
config.duration > ToastrSecurityConfig.maxDuration) {
return false;
}
// Animation durations should be reasonable
if (config.showDuration > ToastrSecurityConfig.maxAnimationDuration ||
config.hideDuration > ToastrSecurityConfig.maxAnimationDuration) {
return false;
}
// Show and hide durations should be positive
if (config.showDuration.inMilliseconds <= 0 ||
config.hideDuration.inMilliseconds <= 0) {
return false;
}
// Validate title if present
if (config.title != null) {
final sanitizedTitle = sanitizeHtml(config.title!);
if (sanitizedTitle.trim().isEmpty) {
return false;
}
if (ToastrSecurityConfig.containsDangerousPattern(config.title!)) {
return false;
}
}
return true;
}