Documentation
¶
Index ¶
- func EnsureArrayFieldRequired[TTargetVal any](val []TTargetVal) error
- func EnsureNonDefault[TTargetVal comparable](val TTargetVal) error
- type AggregatedBindingError
- type BindingContext
- type BindingError
- type FieldBindingError
- type FieldValidator
- func NewArrayValidator[TValue any](validateField FieldValidator[[]TValue], validateItems FieldValidator[TValue]) FieldValidator[[]TValue]
- func NewArraysNullableRequiredValidationRequestValidator() FieldValidator[*ArraysNullableRequiredValidationRequest]
- func NewArraysRangeValidationRequestValidator() FieldValidator[*ArraysRangeValidationRequest]
- func NewArraysRequiredValidationRequestValidator() FieldValidator[*ArraysRequiredValidationRequest]
- func NewBehaviorNamesWithIDDataValidator() FieldValidator[*BehaviorNamesWithIDData]
- func NewBehaviorNoParamsWithResponse202ResponseValidator() FieldValidator[*BehaviorNoParamsWithResponse202Response]
- func NewBehaviorWithParamsAndResponseRequestBodyValidator() FieldValidator[*BehaviorWithParamsAndResponseRequestBody]
- func NewBehaviorWithParamsAndResponseResponseBodyValidator() FieldValidator[*BehaviorWithParamsAndResponseResponseBody]
- func NewBooleanArrayItemsRequestValidator() FieldValidator[*BooleanArrayItemsRequest]
- func NewBooleanNullableArrayItemsRequestValidator() FieldValidator[*BooleanNullableArrayItemsRequest]
- func NewBooleanNullableRequestValidator() FieldValidator[*BooleanNullableRequest]
- func NewBooleanParsingRequestValidator() FieldValidator[*BooleanParsingRequest]
- func NewBooleanRequiredValidationRequestValidator() FieldValidator[*BooleanRequiredValidationRequest]
- func NewErrorValidator() FieldValidator[*Error]
- func NewNumericTypesArrayItemsRequestValidator() FieldValidator[*NumericTypesArrayItemsRequest]
- func NewNumericTypesNullableArrayItemsRequestValidator() FieldValidator[*NumericTypesNullableArrayItemsRequest]
- func NewNumericTypesNullableRequestValidator() FieldValidator[*NumericTypesNullableRequest]
- func NewNumericTypesParsingRequestValidator() FieldValidator[*NumericTypesParsingRequest]
- func NewNumericTypesRangeValidationExclusiveRequestValidator() FieldValidator[*NumericTypesRangeValidationExclusiveRequest]
- func NewNumericTypesRangeValidationRequestValidator() FieldValidator[*NumericTypesRangeValidationRequest]
- func NewObjectArraysSimpleObjectValidator() FieldValidator[*ObjectArraysSimpleObject]
- func NewObjectArraysSimpleObjectsContainerValidator() FieldValidator[*ObjectArraysSimpleObjectsContainer]
- func NewObjectFieldValidator[TTargetVal any](params ObjectFieldValidatorParams, modelValidator FieldValidator[*TTargetVal]) FieldValidator[*TTargetVal]
- func NewObjectsArrayBodyNestedRequestValidator() FieldValidator[*ObjectsArrayBodyNestedRequest]
- func NewObjectsDeeplyNestedRequestContainer1Validator() FieldValidator[*ObjectsDeeplyNestedRequestContainer1]
- func NewObjectsDeeplyNestedRequestContainer2Validator() FieldValidator[*ObjectsDeeplyNestedRequestContainer2]
- func NewObjectsDeeplyNestedRequestValidator() FieldValidator[*ObjectsDeeplyNestedRequest]
- func NewSimpleFieldValidator[TValue any](validators ...ValueValidator[TValue]) FieldValidator[TValue]
- func NewSimpleNullableObjectValidator() FieldValidator[*SimpleNullableObject]
- func NewSimpleObjectValidator() FieldValidator[*SimpleObject]
- func NewSimpleObjectsContainerValidator() FieldValidator[*SimpleObjectsContainer]
- func NewStringTypesArrayItemsRangeValidationRequestValidator() FieldValidator[*StringTypesArrayItemsRangeValidationRequest]
- func NewStringTypesArraysParsingRequestValidator() FieldValidator[*StringTypesArraysParsingRequest]
- func NewStringTypesEnumsRequestValidator() FieldValidator[*StringTypesEnumsRequest]
- func NewStringTypesNullableArrayItemsRequestValidator() FieldValidator[*StringTypesNullableArrayItemsRequest]
- func NewStringTypesNullableParsingRequestValidator() FieldValidator[*StringTypesNullableParsingRequest]
- func NewStringTypesNullableRequiredValidationRequestValidator() FieldValidator[*StringTypesNullableRequiredValidationRequest]
- func NewStringTypesParsingRequestValidator() FieldValidator[*StringTypesParsingRequest]
- func NewStringTypesPatternValidationRequestValidator() FieldValidator[*StringTypesPatternValidationRequest]
- func NewStringTypesRangeValidationRequestValidator() FieldValidator[*StringTypesRangeValidationRequest]
- func NewStringTypesRequiredValidationRequestValidator() FieldValidator[*StringTypesRequiredValidationRequest]
- func SkipNullFieldValidator[TTargetVal any](target FieldValidator[*TTargetVal]) FieldValidator[*TTargetVal]
- type Measurable
- type ObjectFieldValidatorParams
- type OptionalVal
- type ValueValidator
- func NewMinMaxLengthValidator[TTargetVal any, TValidatorVal Measurable[TTargetVal]](threshold int, isMin bool) ValueValidator[TValidatorVal]
- func NewMinMaxValueValidator[TTargetVal constraints.Ordered](threshold TTargetVal, exclusive bool, isMin bool) ValueValidator[TTargetVal]
- func NewPatternValidator[TTargetValue string](patternStr string) ValueValidator[string]
- func SkipNullValidator[TTargetVal any](target ValueValidator[TTargetVal]) ValueValidator[*TTargetVal]
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func EnsureArrayFieldRequired ¶
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 OptionalVal ¶
type ValueValidator ¶
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
¶
- arrays_nullable_required_validation_params_validation.go
- arrays_nullable_required_validation_request_validation.go
- arrays_range_validation_params_validation.go
- arrays_range_validation_request_validation.go
- arrays_required_validation_params_validation.go
- arrays_required_validation_request_validation.go
- basic_string_enum_validation.go
- behavior_names_with_id_data_validation.go
- behavior_names_with_id_params_validation.go
- behavior_no_params_with_response_202_response_validation.go
- behavior_with_params_and_response_params_validation.go
- behavior_with_params_and_response_request_body_validation.go
- behavior_with_params_and_response_response_body_validation.go
- behavior_with_params_no_response_params_validation.go
- boolean_array_items_params_validation.go
- boolean_array_items_request_validation.go
- boolean_nullable_array_items_params_validation.go
- boolean_nullable_array_items_request_validation.go
- boolean_nullable_params_validation.go
- boolean_nullable_request_validation.go
- boolean_parsing_params_validation.go
- boolean_parsing_request_validation.go
- boolean_required_validation_params_validation.go
- boolean_required_validation_request_validation.go
- error_validation.go
- nullable_string_enum_validation.go
- numeric_types_array_items_params_validation.go
- numeric_types_array_items_request_validation.go
- numeric_types_nullable_array_items_params_validation.go
- numeric_types_nullable_array_items_request_validation.go
- numeric_types_nullable_params_validation.go
- numeric_types_nullable_request_validation.go
- numeric_types_parsing_params_validation.go
- numeric_types_parsing_request_validation.go
- numeric_types_range_validation_exclusive_params_validation.go
- numeric_types_range_validation_exclusive_request_validation.go
- numeric_types_range_validation_params_validation.go
- numeric_types_range_validation_request_validation.go
- numeric_types_required_validation_params_validation.go
- object_arrays_simple_object_validation.go
- object_arrays_simple_objects_container_validation.go
- objects_array_body_direct_params_validation.go
- objects_array_body_nested_params_validation.go
- objects_array_body_nested_request_validation.go
- objects_deeply_nested_params_validation.go
- objects_deeply_nested_request_container1_validation.go
- objects_deeply_nested_request_container2_validation.go
- objects_deeply_nested_request_validation.go
- objects_nullable_optional_body_params_validation.go
- objects_nullable_required_body_params_validation.go
- objects_optional_body_params_validation.go
- objects_required_body_params_validation.go
- objects_required_nested_objects_params_validation.go
- simple_nullable_object_validation.go
- simple_object_validation.go
- simple_objects_container_validation.go
- string_types_array_items_range_validation_params_validation.go
- string_types_array_items_range_validation_request_validation.go
- string_types_arrays_parsing_params_validation.go
- string_types_arrays_parsing_request_validation.go
- string_types_enums_params_validation.go
- string_types_enums_request_validation.go
- string_types_nullable_array_items_params_validation.go
- string_types_nullable_array_items_request_validation.go
- string_types_nullable_parsing_params_validation.go
- string_types_nullable_parsing_request_validation.go
- string_types_nullable_required_validation_params_validation.go
- string_types_nullable_required_validation_request_validation.go
- string_types_parsing_params_validation.go
- string_types_parsing_request_validation.go
- string_types_pattern_validation_params_validation.go
- string_types_pattern_validation_request_validation.go
- string_types_range_validation_params_validation.go
- string_types_range_validation_request_validation.go
- string_types_required_validation_params_validation.go
- string_types_required_validation_request_validation.go
- validators.go
Click to show internal directories.
Click to hide internal directories.