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" )