internal

package
v0.0.0-...-fcf1ee3 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2025 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func EnsureArrayFieldRequired

func EnsureArrayFieldRequired[TTargetVal any](val []TTargetVal) error

EnsureArrayFieldRequired will validate if given array is not empty.

func EnsureNonDefault

func EnsureNonDefault[TTargetVal comparable](val TTargetVal) error

EnsureNonDefault will validate if given value is non default for given type.

There is no easy way to make a truly required validation (e.g if field is present) without a custom marshaler and shadow models, which will impact performance. So keeping a non default validation as a reasonable tradeoff.

Types

type AggregatedBindingError

type AggregatedBindingError struct {
	Errors []FieldBindingError `json:"errors"`
}

func (AggregatedBindingError) Error

func (c AggregatedBindingError) Error() string

type BindingContext

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

func (BindingContext) AggregatedError

func (c BindingContext) AggregatedError() error

func (*BindingContext) AppendFieldError

func (c *BindingContext) AppendFieldError(err FieldBindingError)

func (*BindingContext) BuildPath

func (c *BindingContext) BuildPath() string

func (*BindingContext) Fork

func (c *BindingContext) Fork(field string) *BindingContext

type BindingError

type BindingError string
const (
	// ErrBadValueFormat error means data provided can not be parsed to a target type.
	ErrBadValueFormat BindingError = "BAD_FORMAT"

	// ErrValueRequired error code indicates that the required value has not been provided.
	ErrValueRequired BindingError = "INVALID_REQUIRED"

	// ErrInvalidValueOutOfRange error code indicates that the value is out of range of allowable values
	// this is usually when number is out of min/max range, or string is outside of limits.
	ErrInvalidValueOutOfRange BindingError = "INVALID_OUT_OF_RANGE"

	// ErrInvalidValue error code a generic validation error.
	ErrInvalidValue BindingError = "INVALID"
)

func (BindingError) Error

func (c BindingError) Error() string

type FieldBindingError

type FieldBindingError struct {
	Location string `json:"location"`
	Err      error  `json:"-"`
	Code     string `json:"code"`
}

FieldBindingError occurs at parsing/validation stage and holds context on field that the error is related to.

func (FieldBindingError) Error

func (be FieldBindingError) Error() string

type FieldValidator

type FieldValidator[TValue any] func(
	bindingCtx *BindingContext,
	value TValue,
)

func NewArrayValidator

func NewArrayValidator[
	TValue any,
](
	validateField FieldValidator[[]TValue],
	validateItems FieldValidator[TValue],
) FieldValidator[[]TValue]

func NewArraysNullableRequiredValidationRequestValidator

func NewArraysNullableRequiredValidationRequestValidator() FieldValidator[*ArraysNullableRequiredValidationRequest]

func NewArraysRangeValidationRequestValidator

func NewArraysRangeValidationRequestValidator() FieldValidator[*ArraysRangeValidationRequest]

func NewArraysRequiredValidationRequestValidator

func NewArraysRequiredValidationRequestValidator() FieldValidator[*ArraysRequiredValidationRequest]

func NewBehaviorNamesWithIDDataValidator

func NewBehaviorNamesWithIDDataValidator() FieldValidator[*BehaviorNamesWithIDData]

func NewBehaviorNoParamsWithResponse202ResponseValidator

func NewBehaviorNoParamsWithResponse202ResponseValidator() FieldValidator[*BehaviorNoParamsWithResponse202Response]

func NewBehaviorWithParamsAndResponseRequestBodyValidator

func NewBehaviorWithParamsAndResponseRequestBodyValidator() FieldValidator[*BehaviorWithParamsAndResponseRequestBody]

func NewBehaviorWithParamsAndResponseResponseBodyValidator

func NewBehaviorWithParamsAndResponseResponseBodyValidator() FieldValidator[*BehaviorWithParamsAndResponseResponseBody]

func NewBooleanArrayItemsRequestValidator

func NewBooleanArrayItemsRequestValidator() FieldValidator[*BooleanArrayItemsRequest]

func NewBooleanNullableArrayItemsRequestValidator

func NewBooleanNullableArrayItemsRequestValidator() FieldValidator[*BooleanNullableArrayItemsRequest]

func NewBooleanNullableRequestValidator

func NewBooleanNullableRequestValidator() FieldValidator[*BooleanNullableRequest]

func NewBooleanParsingRequestValidator

func NewBooleanParsingRequestValidator() FieldValidator[*BooleanParsingRequest]

func NewBooleanRequiredValidationRequestValidator

func NewBooleanRequiredValidationRequestValidator() FieldValidator[*BooleanRequiredValidationRequest]

func NewErrorValidator

func NewErrorValidator() FieldValidator[*Error]

func NewNumericTypesArrayItemsRequestValidator

func NewNumericTypesArrayItemsRequestValidator() FieldValidator[*NumericTypesArrayItemsRequest]

func NewNumericTypesNullableArrayItemsRequestValidator

func NewNumericTypesNullableArrayItemsRequestValidator() FieldValidator[*NumericTypesNullableArrayItemsRequest]

func NewNumericTypesNullableRequestValidator

func NewNumericTypesNullableRequestValidator() FieldValidator[*NumericTypesNullableRequest]

func NewNumericTypesParsingRequestValidator

func NewNumericTypesParsingRequestValidator() FieldValidator[*NumericTypesParsingRequest]

func NewNumericTypesRangeValidationExclusiveRequestValidator

func NewNumericTypesRangeValidationExclusiveRequestValidator() FieldValidator[*NumericTypesRangeValidationExclusiveRequest]

func NewNumericTypesRangeValidationRequestValidator

func NewNumericTypesRangeValidationRequestValidator() FieldValidator[*NumericTypesRangeValidationRequest]

func NewObjectArraysSimpleObjectValidator

func NewObjectArraysSimpleObjectValidator() FieldValidator[*ObjectArraysSimpleObject]

func NewObjectArraysSimpleObjectsContainerValidator

func NewObjectArraysSimpleObjectsContainerValidator() FieldValidator[*ObjectArraysSimpleObjectsContainer]

func NewObjectFieldValidator

func NewObjectFieldValidator[TTargetVal any](
	params ObjectFieldValidatorParams,
	modelValidator FieldValidator[*TTargetVal],
) FieldValidator[*TTargetVal]

func NewObjectsArrayBodyNestedRequestValidator

func NewObjectsArrayBodyNestedRequestValidator() FieldValidator[*ObjectsArrayBodyNestedRequest]

func NewObjectsDeeplyNestedRequestContainer1Validator

func NewObjectsDeeplyNestedRequestContainer1Validator() FieldValidator[*ObjectsDeeplyNestedRequestContainer1]

func NewObjectsDeeplyNestedRequestContainer2Validator

func NewObjectsDeeplyNestedRequestContainer2Validator() FieldValidator[*ObjectsDeeplyNestedRequestContainer2]

func NewObjectsDeeplyNestedRequestValidator

func NewObjectsDeeplyNestedRequestValidator() FieldValidator[*ObjectsDeeplyNestedRequest]

func NewSimpleFieldValidator

func NewSimpleFieldValidator[
	TValue any,
](validators ...ValueValidator[TValue]) FieldValidator[TValue]

func NewSimpleNullableObjectValidator

func NewSimpleNullableObjectValidator() FieldValidator[*SimpleNullableObject]

func NewSimpleObjectValidator

func NewSimpleObjectValidator() FieldValidator[*SimpleObject]

func NewSimpleObjectsContainerValidator

func NewSimpleObjectsContainerValidator() FieldValidator[*SimpleObjectsContainer]

func NewStringTypesArrayItemsRangeValidationRequestValidator

func NewStringTypesArrayItemsRangeValidationRequestValidator() FieldValidator[*StringTypesArrayItemsRangeValidationRequest]

func NewStringTypesArraysParsingRequestValidator

func NewStringTypesArraysParsingRequestValidator() FieldValidator[*StringTypesArraysParsingRequest]

func NewStringTypesEnumsRequestValidator

func NewStringTypesEnumsRequestValidator() FieldValidator[*StringTypesEnumsRequest]

func NewStringTypesNullableArrayItemsRequestValidator

func NewStringTypesNullableArrayItemsRequestValidator() FieldValidator[*StringTypesNullableArrayItemsRequest]

func NewStringTypesNullableParsingRequestValidator

func NewStringTypesNullableParsingRequestValidator() FieldValidator[*StringTypesNullableParsingRequest]

func NewStringTypesNullableRequiredValidationRequestValidator

func NewStringTypesNullableRequiredValidationRequestValidator() FieldValidator[*StringTypesNullableRequiredValidationRequest]

func NewStringTypesParsingRequestValidator

func NewStringTypesParsingRequestValidator() FieldValidator[*StringTypesParsingRequest]

func NewStringTypesPatternValidationRequestValidator

func NewStringTypesPatternValidationRequestValidator() FieldValidator[*StringTypesPatternValidationRequest]

func NewStringTypesRangeValidationRequestValidator

func NewStringTypesRangeValidationRequestValidator() FieldValidator[*StringTypesRangeValidationRequest]

func NewStringTypesRequiredValidationRequestValidator

func NewStringTypesRequiredValidationRequestValidator() FieldValidator[*StringTypesRequiredValidationRequest]

func SkipNullFieldValidator

func SkipNullFieldValidator[TTargetVal any](target FieldValidator[*TTargetVal]) FieldValidator[*TTargetVal]

type Measurable

type Measurable[T any] interface {
	~string | ~[]T
}

type ObjectFieldValidatorParams

type ObjectFieldValidatorParams struct {
	Nullable bool
	Required bool
}

type OptionalVal

type OptionalVal[TVal any] struct {
	Value    TVal
	Assigned bool
}

type ValueValidator

type ValueValidator[TTargetVal any] func(TTargetVal) error

func NewMinMaxLengthValidator

func NewMinMaxLengthValidator[TTargetVal any, TValidatorVal Measurable[TTargetVal]](
	threshold int,
	isMin bool,
) ValueValidator[TValidatorVal]

func NewMinMaxValueValidator

func NewMinMaxValueValidator[TTargetVal constraints.Ordered](
	threshold TTargetVal,
	exclusive bool,
	isMin bool,
) ValueValidator[TTargetVal]

func NewPatternValidator

func NewPatternValidator[TTargetValue string](patternStr string) ValueValidator[string]

func SkipNullValidator

func SkipNullValidator[TTargetVal any](target ValueValidator[TTargetVal]) ValueValidator[*TTargetVal]

Source Files

Jump to

Keyboard shortcuts

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