validation

package
v1.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 21, 2025 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type UnifiedValidator

type UnifiedValidator struct {
	// contains filtered or unexported fields
}

UnifiedValidator validador unificado para todos los servicios

func NewUnifiedValidator

func NewUnifiedValidator(config *ValidationConfig, logger *logrus.Entry) *UnifiedValidator

NewUnifiedValidator creates a new unified validator instance

func (*UnifiedValidator) SanitizeInput

func (v *UnifiedValidator) SanitizeInput(input string) string

SanitizeInput sanitizes input by removing/escaping dangerous characters

func (*UnifiedValidator) ValidateCurrency

func (v *UnifiedValidator) ValidateCurrency(currency string) *ValidationResult

ValidateCurrency validates a currency code

func (*UnifiedValidator) ValidateEmail

func (v *UnifiedValidator) ValidateEmail(email string) *ValidationResult

ValidateEmail validates an email address

func (*UnifiedValidator) ValidateName

func (v *UnifiedValidator) ValidateName(name string) *ValidationResult

ValidateName validates a name field

func (*UnifiedValidator) ValidatePassword

func (v *UnifiedValidator) ValidatePassword(password string) *ValidationResult

ValidatePassword validates a password

func (*UnifiedValidator) ValidateSport

func (v *UnifiedValidator) ValidateSport(sport string) *ValidationResult

ValidateSport validates a sport name

func (*UnifiedValidator) ValidateString

func (v *UnifiedValidator) ValidateString(value, fieldName string, rules ...string) *ValidationResult

ValidateString validates a string value

func (*UnifiedValidator) ValidateStruct

func (v *UnifiedValidator) ValidateStruct(s interface{}) *ValidationResult

ValidateStruct validates a complete struct

func (*UnifiedValidator) ValidateUUID

func (v *UnifiedValidator) ValidateUUID(uuid, fieldName string) *ValidationResult

ValidateUUID validates a UUID string

type ValidationConfig

type ValidationConfig struct {
	// String limits
	MaxStringLength      int
	MaxEmailLength       int
	MaxNameLength        int
	MaxPasswordLength    int
	MinPasswordLength    int
	MaxDescriptionLength int

	// Security settings
	EnableXSSProtection bool
	EnableSQLInjection  bool
	EnableScriptCheck   bool
	EnablePathTraversal bool

	// File validation
	AllowedFileTypes  []string
	MaxFileSize       int64
	MaxFileNameLength int

	// Business rules
	AllowedSports     []string
	AllowedCurrencies []string
	AllowedCountries  []string

	// Advanced settings
	EnableUnicodeNormalization bool
	StrictMode                 bool
	EnableCustomValidators     bool
}

ValidationConfig configuración del validador

func DefaultValidationConfig

func DefaultValidationConfig() *ValidationConfig

DefaultValidationConfig returns default validation configuration

type ValidationError

type ValidationError struct {
	Field    string `json:"field"`
	Message  string `json:"message"`
	Code     string `json:"code"`
	Value    string `json:"value"`
	Severity string `json:"severity"`
}

ValidationError represents a single validation error

type ValidationResult

type ValidationResult struct {
	IsValid bool              `json:"is_valid"`
	Errors  []ValidationError `json:"errors,omitempty"`
	Value   interface{}       `json:"value,omitempty"`
	Field   string            `json:"field,omitempty"`
}

ValidationResult represents the result of a validation operation

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL