validation

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Dec 8, 2025 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ValidationRule

type ValidationRule struct {
	// Numeric constraints
	Min         *float64 `json:"min,omitempty"`
	Max         *float64 `json:"max,omitempty"`
	GreaterThan *float64 `json:"greater_than,omitempty"`
	LessThan    *float64 `json:"less_than,omitempty"`

	// String/Array/Map length constraints
	Length    *int `json:"length,omitempty"`
	MinLength *int `json:"min_length,omitempty"`
	MaxLength *int `json:"max_length,omitempty"`

	// String pattern validation
	Pattern      *string `json:"pattern,omitempty"`
	Email        *bool   `json:"email,omitempty"`
	URL          *bool   `json:"url,omitempty"`
	UUID         *bool   `json:"uuid,omitempty"`
	ISBN         *bool   `json:"isbn,omitempty"`
	Numeric      *bool   `json:"numeric,omitempty"`
	Alpha        *bool   `json:"alpha,omitempty"`
	Alphanumeric *bool   `json:"alphanumeric,omitempty"`

	// Special validations
	Required  *bool    `json:"required,omitempty"`
	NotNull   *bool    `json:"not_null,omitempty"`
	OmitEmpty *bool    `json:"omit_empty,omitempty"`
	Unique    *bool    `json:"unique,omitempty"`
	Enum      []string `json:"enum,omitempty"`

	// Field relationships
	EqualsField    *string `json:"equals_field,omitempty"`
	NotEqualsField *string `json:"not_equals_field,omitempty"`
	FieldGt        *string `json:"field_gt,omitempty"`
	FieldGte       *string `json:"field_gte,omitempty"`
	FieldLt        *string `json:"field_lt,omitempty"`
	FieldLte       *string `json:"field_lte,omitempty"`

	// Type specific
	DateFormat *string `json:"date_format,omitempty"`
	TimeFormat *string `json:"time_format,omitempty"`

	// Custom field for unmapped rules
	Custom map[string]any `json:"custom,omitempty"`
}

ValidationRule represents a parsed validation rule with nullable fields

func ParseValidationTag

func ParseValidationTag(tag string) *ValidationRule

ParseValidationTag parses a validation tag string and returns a ValidationRule Example: "omitempty,gte=8,lte=20,required" -> ValidationRule{Min: 8, Max: 20, Required: true, OmitEmpty: true}

Jump to

Keyboard shortcuts

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