validation

package module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Aug 14, 2025 License: MIT Imports: 11 Imported by: 0

README

flam-validation

flam-validation is a flam-in-go extension to provide validation functionalities

Documentation

Index

Constants

View Source
const (
	LanguageCreatorGroup       = "flam.validation.languages.creator"
	LanguageDriverEnglish      = "flam.validation.languages.driver.english"
	ParserCreatorGroup         = "flam.validation.parsers.creator"
	ParserDriverDefault        = "flam.validation.parsers.driver.default"
	ValidatorFuncCreatorGroup  = "flam.validation.validators.creator"
	ValidatorFuncDriverDefault = "flam.validation.validators.driver.default"

	PathDefaultAnnotation = "flam.validation.defaults.annotation"
	PathDefaultStatus     = "flam.validation.defaults.status"
	PathDefaultTranslator = "flam.validation.defaults.translator"
	PathDefaultParser     = "flam.validation.defaults.parser"
	PathDefaultLanguage   = "flam.validation.defaults.language"
	PathLanguages         = "flam.validation.languages"
	PathParsers           = "flam.validation.parsers"
	PathValidatorFuncs    = "flam.validation.validators"
)

Variables

View Source
var (
	DefaultAnnotation = "vparam"
	DefaultStatus     = http.StatusBadRequest
	DefaultTranslator = ""
	DefaultParser     = ""
	DefaultLanguage   = ""
)

Functions

func NewProvider

func NewProvider() flam.Provider

Types

type Facade

type Facade interface {
	HasLanguage(id string) bool
	ListLanguages() []string
	GetLanguage(id string) (Language, error)
	AddLanguage(id string, language Language) error

	HasParser(id string) bool
	ListParsers() []string
	GetParser(id string) (Parser, error)
	AddParser(id string, parser Parser) error

	HasValidator(id string) bool
	ListValidators() []string
	GetValidator(id string) (ValidatorFunc, error)
	AddValidator(id string, validator ValidatorFunc) error
}

type Language

type Language interface {
	Register(*validator.Validate, translation.Translator) error
}

type LanguageCreator

type LanguageCreator interface {
	Accept(config flam.Bag) bool
	Create(config flam.Bag) (Language, error)
}

type Parser

type Parser interface {
	Translator() translation.Translator
	AddError(e string, code int)
	Parse(value any, errs validator.ValidationErrors) (envelope.Envelope, bool)
}

type ParserCreator

type ParserCreator interface {
	Accept(config flam.Bag) bool
	Create(config flam.Bag) (Parser, error)
}

type ValidatorFunc

type ValidatorFunc func(val any) (envelope.Envelope, bool)

type ValidatorFuncCreator

type ValidatorFuncCreator interface {
	Accept(config flam.Bag) bool
	Create(config flam.Bag) (ValidatorFunc, error)
}

Jump to

Keyboard shortcuts

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