Documentation
¶
Overview ¶
Package config provides a minimal validation framework used by plugins and core.
Index ¶
- func ValidateDuration(min, max time.Duration) func(value interface{}, ctx ValidationContext) error
- func ValidateRange(min, max int64) func(value interface{}, ctx ValidationContext) error
- type ConfigValidator
- type DefaultValueSetter
- type ValidationContext
- type ValidationIssue
- type ValidationResult
- type ValidationRule
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ValidateDuration ¶
func ValidateDuration(min, max time.Duration) func(value interface{}, ctx ValidationContext) error
ValidateDuration returns a validator ensuring a duration is in [min, max].
func ValidateRange ¶
func ValidateRange(min, max int64) func(value interface{}, ctx ValidationContext) error
ValidateRange returns a validator ensuring a numeric value is in [min, max].
Types ¶
type ConfigValidator ¶
type ConfigValidator struct {
// contains filtered or unexported fields
}
ConfigValidator maintains a set of validation rules for a config struct.
func NewConfigValidator ¶
func NewConfigValidator(strict bool, environment string) *ConfigValidator
NewConfigValidator creates a new validator instance.
func (*ConfigValidator) AddRule ¶
func (cv *ConfigValidator) AddRule(field string, rule ValidationRule)
AddRule registers a rule for a field.
func (*ConfigValidator) ValidateConfig ¶
func (cv *ConfigValidator) ValidateConfig(config interface{}, prefix string) *ValidationResult
ValidateConfig validates the provided config struct using registered rules. config should be a struct or pointer to struct.
type DefaultValueSetter ¶
type DefaultValueSetter struct {
// contains filtered or unexported fields
}
DefaultValueSetter applies default values to struct fields by name.
func NewDefaultValueSetter ¶
func NewDefaultValueSetter() *DefaultValueSetter
func (*DefaultValueSetter) ApplyDefaults ¶
func (d *DefaultValueSetter) ApplyDefaults(cfg interface{}) error
ApplyDefaults sets default values for zero-value fields in the struct pointed to by cfg.
func (*DefaultValueSetter) SetDefault ¶
func (d *DefaultValueSetter) SetDefault(field string, value interface{})
func (*DefaultValueSetter) SetDefaultFunc ¶
func (d *DefaultValueSetter) SetDefaultFunc(field string, fn func(interface{}) interface{})
type ValidationContext ¶
ValidationContext carries optional metadata for a validation call.
type ValidationIssue ¶
ValidationIssue represents a single validation message.
type ValidationResult ¶
type ValidationResult struct {
Valid bool
Errors []ValidationIssue
Warnings []ValidationIssue
// contains filtered or unexported fields
}
ValidationResult aggregates validation errors and warnings.
func (*ValidationResult) AddError ¶
func (r *ValidationResult) AddError(field string, value interface{}, message string)
AddError records a validation error and marks the result invalid.
func (*ValidationResult) AddWarning ¶
func (r *ValidationResult) AddWarning(field string, value interface{}, message string)
AddWarning records a validation warning but does not change validity.
type ValidationRule ¶
type ValidationRule struct {
Name string
Description string
Validator func(value interface{}, ctx ValidationContext) error
Required bool
}
ValidationRule defines a field validator rule.