Versions in this module Expand all Collapse all v1 v1.0.1 Sep 10, 2023 v1.0.0 Sep 10, 2023 Changes in this version + const BanWordsUsernameErr + const BlackListEmailsErr + const DefaultGravatarTimeout + const DisposableErr + const FreeErr + const GravatarErr + const GravatarURL + const GravatarValidatorName + const RoleErr + const SyntaxErr + const WhiteListErr + var DefaultEmailRegex = regexp.MustCompile(...) + var EmptyDeps = make([]ValidatorName, 0) + func DefaultGetMD5Hash(str string) []byte + func DomainCacheKeyGetter(input Input, _ ...ValidationResult) interface + func EmailCacheKeyGetter(input Input, _ ...ValidationResult) interface + func NewDepsError() error + type AValidationResult struct + ErrorsVal []error + IsValidVal bool + NameVal ValidatorName + WarningsVal []error + func (a *AValidationResult) DecodeMsgpack(dec *msgpack.Decoder) error + func (a *AValidationResult) EncodeMsgpack(enc *msgpack.Encoder) error + func (a *AValidationResult) Errors() []error + func (a *AValidationResult) HasErrors() bool + func (a *AValidationResult) HasWarnings() bool + func (a *AValidationResult) IsValid() bool + func (a *AValidationResult) SetErrors(errors []error) + func (a *AValidationResult) SetWarnings(warnings []error) + func (a *AValidationResult) ValidatorName() ValidatorName + func (a *AValidationResult) Warnings() []error + type AValidatorWithoutDeps struct + func (a AValidatorWithoutDeps) GetDeps() []ValidatorName + type BanWordsUsernameError struct + func (BanWordsUsernameError) Error() string + type BlackListDomainsError struct + func (BlackListDomainsError) Error() string + type BlackListEmailsError struct + func (BlackListEmailsError) Error() string + type CacheDecorator struct + Cache evcache.Interface + GetKey CacheKeyGetter + Validator Validator + func (c *CacheDecorator) GetDeps() []ValidatorName + func (c *CacheDecorator) Validate(input Input, results ...ValidationResult) (result ValidationResult) + type CacheKeyGetter func(input Input, results ...ValidationResult) interface + type ChangeableValidationResult interface + SetErrors func([]error) + SetWarnings func([]error) + type DepBuilder struct + Validators ValidatorMap + func NewDepBuilder(validators ValidatorMap) *DepBuilder + func (d *DepBuilder) Build() Validator + func (d *DepBuilder) Delete(names ...ValidatorName) *DepBuilder + func (d *DepBuilder) Get(name ValidatorName) Validator + func (d *DepBuilder) Has(names ...ValidatorName) bool + func (d *DepBuilder) Set(name ValidatorName, validator Validator) *DepBuilder + type DepResult map[ValidatorName]ValidationResult + type DepValidationResult interface + GetResults func() DepResult + type DepValidator struct + Deps ValidatorMap + func (d DepValidator) Validate(input Input, _ ...ValidationResult) ValidationResult + type DepsError struct + func (*DepsError) Error() string + type DisposableError struct + func (DisposableError) Error() string + type EmptyMXsError struct + func (EmptyMXsError) Error() string + type FreeError struct + func (FreeError) Error() string + type GetMD5Hash func(str string) []byte + type GravatarError struct + func (GravatarError) Error() string + type GravatarOptions interface + Timeout func() time.Duration + func DefaultGravatarOptions() GravatarOptions + func NewGravatarOptions(dto GravatarOptionsDTO) GravatarOptions + type GravatarOptionsDTO struct + Timeout time.Duration + type GravatarValidationResult interface + URL func() string + func NewGravatarValidationResult(url string, result *AValidationResult) GravatarValidationResult + type Input interface + Email func() evmail.Address + Option func(name ValidatorName) interface{} + func NewInput(email evmail.Address, kvOptions ...KVOption) Input + func NewInputFromMap(email evmail.Address, options map[ValidatorName]interface{}) Input + type InputStruct struct + EmailAddress evmail.Address + Options map[ValidatorName]interface{} + func (i *InputStruct) Email() evmail.Address + func (i *InputStruct) Option(name ValidatorName) interface{} + type IsWarning func(err error) bool + func NewIsWarning(warningMap WarningSet, isWarning func(warningMap WarningSet) IsWarning) IsWarning + type KVOption struct + Name ValidatorName + Option interface{} + func NewKVOption(name ValidatorName, option interface{}) KVOption + type MXValidationResult interface + MX func() evsmtp.MXs + func NewMXValidationResult(mx evsmtp.MXs, result *AValidationResult) MXValidationResult + type RoleError struct + func (RoleError) Error() string + type SyntaxError struct + func (SyntaxError) Error() string + type SyntaxValidatorResult interface + type ValidationResult interface + Errors func() []error + HasErrors func() bool + HasWarnings func() bool + IsValid func() bool + ValidatorName func() ValidatorName + Warnings func() []error + func GravatarGetError(err error) ValidationResult + func NewDepValidatorResult(isValid bool, results DepResult) ValidationResult + func NewResult(isValid bool, errors []error, warnings []error, name ValidatorName) ValidationResult + func NewValidResult(name ValidatorName) ValidationResult + func SyntaxGetError() ValidationResult + type ValidationResultStruct = AValidationResult + type Validator interface + GetDeps func() []ValidatorName + Validate func(input Input, results ...ValidationResult) ValidationResult + func DefaultNewMXValidator() Validator + func FreeDefaultValidator() Validator + func GetDefaultSMTPValidator(dto evsmtp.CheckerDTO) Validator + func NewBanWordsUsername(inStrings contains.InStrings) Validator + func NewBlackListEmailsValidator(d contains.InSet) Validator + func NewBlackListValidator(d contains.InSet) Validator + func NewCacheDecorator(validator Validator, cache evcache.Interface, getKey CacheKeyGetter) Validator + func NewDepValidator(deps ValidatorMap) Validator + func NewDisposableValidator(d contains.InSet) Validator + func NewFreeValidator(f contains.InSet) Validator + func NewGravatarValidator() Validator + func NewGravatarValidatorWithURL(gravatarURL string) Validator + func NewMXValidator(lookupMX evsmtp.FuncLookupMX) Validator + func NewRoleValidator(r contains.InSet) Validator + func NewSMTPValidator(Checker evsmtp.Checker) Validator + func NewSyntaxRegexValidator(emailRegex *regexp.Regexp) Validator + func NewSyntaxValidator() Validator + func NewWarningsDecorator(validator Validator, isWarning IsWarning) Validator + func NewWhiteListValidator(d contains.InSet) Validator + type ValidatorMap map[ValidatorName]Validator + func GetDefaultFactories() ValidatorMap + type ValidatorName string + const BanWordsUsernameValidatorName + const BlackListDomainsValidatorName + const BlackListEmailsValidatorName + const DepValidatorName + const DisposableValidatorName + const FreeValidatorName + const MXValidatorName + const OtherValidator + const RoleValidatorName + const SMTPValidatorName + const SyntaxValidatorName + const WhiteListDomainValidatorName + func (v ValidatorName) String() string + type WarningSet sets.Set + type WhiteListError struct + func (WhiteListError) Error() string