validation

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Aug 4, 2025 License: MIT Imports: 7 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 crea un nuevo validador unificado

func (*UnifiedValidator) SanitizeInput

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

SanitizeInput sanitiza una entrada removiendo caracteres peligrosos

func (*UnifiedValidator) ValidateCurrency

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

ValidateCurrency valida una moneda

func (*UnifiedValidator) ValidateEmail

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

ValidateEmail valida una dirección de email

func (*UnifiedValidator) ValidateName

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

ValidateName valida un nombre de persona

func (*UnifiedValidator) ValidatePassword

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

ValidatePassword valida una contraseña

func (*UnifiedValidator) ValidateSport

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

ValidateSport valida un deporte

func (*UnifiedValidator) ValidateString

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

ValidateString valida una cadena de texto

func (*UnifiedValidator) ValidateStruct

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

ValidateStruct valida una estructura completa

func (*UnifiedValidator) ValidateUUID

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

ValidateUUID valida un UUID

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 retorna configuración por defecto

type ValidationError

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

ValidationError error de validación

type ValidationResult

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

ValidationResult resultado de validación

Jump to

Keyboard shortcuts

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