Documentation
¶
Index ¶
- type EnhancedValidator
- func (ev *EnhancedValidator) Close() error
- func (ev *EnhancedValidator) ValidateEmail(email string) *ValidationResult
- func (ev *EnhancedValidator) ValidateString(value string, rules ...string) *ValidationResult
- func (ev *EnhancedValidator) ValidateStruct(s interface{}) *ValidationResult
- func (ev *EnhancedValidator) ValidateURL(urlStr string) *ValidationResult
- type ValidationConfig
- type ValidationError
- type ValidationResult
- type ValidationSeverity
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type EnhancedValidator ¶
type EnhancedValidator struct {
// contains filtered or unexported fields
}
EnhancedValidator provides comprehensive input validation with security features
func NewEnhancedValidator ¶
func NewEnhancedValidator(config ValidationConfig, logger *logrus.Logger) *EnhancedValidator
NewEnhancedValidator creates a new enhanced validator
func (*EnhancedValidator) Close ¶
func (ev *EnhancedValidator) Close() error
Close closes the validator
func (*EnhancedValidator) ValidateEmail ¶
func (ev *EnhancedValidator) ValidateEmail(email string) *ValidationResult
ValidateEmail validates an email address with enhanced checks
func (*EnhancedValidator) ValidateString ¶
func (ev *EnhancedValidator) ValidateString(value string, rules ...string) *ValidationResult
ValidateString validates a string with comprehensive security checks
func (*EnhancedValidator) ValidateStruct ¶
func (ev *EnhancedValidator) ValidateStruct(s interface{}) *ValidationResult
ValidateStruct validates a struct with comprehensive security checks
func (*EnhancedValidator) ValidateURL ¶
func (ev *EnhancedValidator) ValidateURL(urlStr string) *ValidationResult
ValidateURL validates a URL with security checks
type ValidationConfig ¶
type ValidationConfig struct {
EnableSQLInjectionCheck bool `json:"enable_sql_injection_check"`
EnableXSSCheck bool `json:"enable_xss_check"`
EnableCSRFCheck bool `json:"enable_csrf_check"`
MaxStringLength int `json:"max_string_length"`
AllowedFileTypes []string `json:"allowed_file_types"`
MaxFileSize int64 `json:"max_file_size"`
EnableRateLimiting bool `json:"enable_rate_limiting"`
}
ValidationConfig holds validation configuration
type ValidationError ¶
type ValidationError struct {
Field string `json:"field"`
Value interface{} `json:"value,omitempty"`
Tag string `json:"tag"`
Message string `json:"message"`
Severity ValidationSeverity `json:"severity"`
SecurityRisk bool `json:"security_risk"`
Metadata map[string]interface{} `json:"metadata,omitempty"`
}
ValidationError represents a validation error with additional context
type ValidationResult ¶
type ValidationResult struct {
IsValid bool `json:"is_valid"`
Errors []ValidationError `json:"errors,omitempty"`
Warnings []ValidationError `json:"warnings,omitempty"`
SecurityRisk bool `json:"security_risk"`
Score int `json:"score"` // 0-100, higher is better
}
ValidationResult contains the result of validation
type ValidationSeverity ¶
type ValidationSeverity string
ValidationSeverity indicates the severity of a validation error
const ( SeverityLow ValidationSeverity = "low" SeverityMedium ValidationSeverity = "medium" SeverityHigh ValidationSeverity = "high" SeverityCritical ValidationSeverity = "critical" )