fvalidation

package module
v0.1.4 Latest Latest
Warning

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

Go to latest
Published: Jun 29, 2024 License: MIT Imports: 1 Imported by: 0

README

fvalidation

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BaseValidationPipeline

type BaseValidationPipeline[T any, TDep any] func(T, *ValidationContext, TDep)

type BaseValidator

type BaseValidator[T any, TDep any] struct {
	// contains filtered or unexported fields
}

func BuildBaseValidator

func BuildBaseValidator[T any, TDep any](pipeline BaseValidationPipeline[T, TDep], dep TDep) BaseValidator[T, TDep]

func (*BaseValidator[T, TDep]) Validate

func (v *BaseValidator[T, TDep]) Validate(value T) (*ValidationResult, error)

type Collection

type Collection[T any] struct {
	// contains filtered or unexported fields
}

func RuleForEach

func RuleForEach[T any](vCtx *ValidationContext, values []T, nameProvider NameProvider) *Collection[T]

func (*Collection[T]) Must

func (col *Collection[T]) Must(rule Rule[T]) *CollectionRuleValidationFailure[T]

type CollectionRuleValidationFailure

type CollectionRuleValidationFailure[T any] struct {
	// contains filtered or unexported fields
}

func (*CollectionRuleValidationFailure[T]) And

func (*CollectionRuleValidationFailure[T]) WithCode

func (*CollectionRuleValidationFailure[T]) WithMessage

type ConditionalResult

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

func When

func When(
	ctx *ValidationContext,
	condition func() (bool, error),
	flow func()) ConditionalResult

func (*ConditionalResult) Otherwise

func (cr *ConditionalResult) Otherwise(flow func())

func (*ConditionalResult) OtherwiseWhen

func (cr *ConditionalResult) OtherwiseWhen(
	condition func() (bool, error),
	flow func()) ConditionalResult

type Failure

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

type FailurePayload

type FailurePayload struct {
	Code    u.Optional[string]
	Message u.Optional[string]
}

func (FailurePayload) ToMap added in v0.1.1

type FailurePayloadMap added in v0.1.1

type FailurePayloadMap map[string]string

type Field

type Field[T any] struct {
	// contains filtered or unexported fields
}

func RuleFor

func RuleFor[T any](vCtx *ValidationContext, title string, value T) *Field[T]

func (*Field[T]) Must

func (f *Field[T]) Must(rule Rule[T]) *RuleValidationFailure[T]

type NameProvider

type NameProvider func(int) string

type Predicate

type Predicate[T any] func(T) (bool, error)

type Rule

type Rule[T any] struct {
	// contains filtered or unexported fields
}

func NewRule

func NewRule[T any](predicate Predicate[T], payload FailurePayload) Rule[T]

func (*Rule[T]) DefaultPayload

func (r *Rule[T]) DefaultPayload() FailurePayload

func (*Rule[T]) Validate

func (r *Rule[T]) Validate(value T) (bool, error)

type RuleValidationFailure

type RuleValidationFailure[T any] struct {
	// contains filtered or unexported fields
}

func (*RuleValidationFailure[T]) And

func (r *RuleValidationFailure[T]) And() *Field[T]

func (*RuleValidationFailure[T]) WithCode

func (r *RuleValidationFailure[T]) WithCode(code string) *RuleValidationFailure[T]

func (*RuleValidationFailure[T]) WithMessage

func (r *RuleValidationFailure[T]) WithMessage(message string) *RuleValidationFailure[T]

type ValidationContext

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

type ValidationResult

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

func (ValidationResult) IsValid added in v0.1.1

func (vr ValidationResult) IsValid() bool

func (ValidationResult) ToMap added in v0.1.1

type ValidationResultMap added in v0.1.1

type ValidationResultMap map[string][]FailurePayloadMap

type Validator

type Validator[T any] interface {
	Validate(T) (ValidationResult, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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