Documentation
¶
Overview ¶
Package structvalidator provides struct validation functionality using reflection.
The structvalidator package enables automatic validation of struct fields based on validation tags. It uses reflection to examine struct fields and apply appropriate validators based on the `validate` tag.
Index ¶
- func JSONFieldName(field reflect.StructField) string
- type StructValidator
- func (sv *StructValidator) ValidateStruct(s any) error
- func (sv *StructValidator) ValidateStructContext(ctx context.Context, s any) error
- func (sv *StructValidator) ValidateStructContextWithOpts(ctx context.Context, s any, opts core.ValidateOpts) error
- func (sv *StructValidator) ValidateStructWithOpts(s any, opts core.ValidateOpts) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func JSONFieldName ¶ added in v3.0.5
func JSONFieldName(field reflect.StructField) string
JSONFieldName returns a field's JSON tag name, falling back to the Go name.
Types ¶
type StructValidator ¶
type StructValidator struct {
// contains filtered or unexported fields
}
StructValidator provides struct validation functionality.
Fields:
- validator: The underlying Validate instance for validation rules.
func NewStructValidator ¶
func NewStructValidator(v *core.Validate) *StructValidator
NewStructValidator creates a new StructValidator instance.
Parameters:
- v: The Validate instance to use for validation rules.
Returns:
- *StructValidator: A new StructValidator instance.
func (*StructValidator) ValidateStruct ¶
func (sv *StructValidator) ValidateStruct(s any) error
ValidateStruct keeps backward compatibility and uses default options.
Parameters:
- s: The struct to validate.
Returns:
- error: Validation errors if any, nil if valid.
func (*StructValidator) ValidateStructContext ¶ added in v3.0.5
func (sv *StructValidator) ValidateStructContext(ctx context.Context, s any) error
ValidateStructContext validates a struct using `validate` tags with context.
func (*StructValidator) ValidateStructContextWithOpts ¶ added in v3.0.5
func (sv *StructValidator) ValidateStructContextWithOpts( ctx context.Context, s any, opts core.ValidateOpts, ) error
ValidateStructContextWithOpts validates s with context and options.
func (*StructValidator) ValidateStructWithOpts ¶
func (sv *StructValidator) ValidateStructWithOpts( s any, opts core.ValidateOpts, ) error
ValidateStructWithOpts validates s, honoring StopOnFirst and PathSep. Expected tag example: `validate:"string;min=3;max=10"`.
Parameters:
- s: The struct to validate.
- opts: Validation options including StopOnFirst and PathSep.
Returns:
- error: Validation errors if any, nil if valid.