validation

package
v0.72.0 Latest Latest
Warning

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

Go to latest
Published: Mar 15, 2023 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package validation 数据验证工具

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Field added in v0.72.0

type Field interface {
	// Validate 验证关联的数据
	//
	// 如果符合要求返回 "", nil,否则返回错误的字段和信息。
	Validate() (string, localeutil.LocaleStringer)
}

Field 待验证的字段需要实现的接口

type FieldFunc added in v0.72.0

type FieldFunc func() (string, localeutil.LocaleStringer)

func (FieldFunc) Validate added in v0.72.0

func (f FieldFunc) Validate() (string, localeutil.LocaleStringer)

type RulerFuncOf added in v0.72.0

type RulerFuncOf[T any] func(string, T) Field

func (RulerFuncOf[T]) Build added in v0.72.0

func (f RulerFuncOf[T]) Build(name string, v T) Field

type RulerOf added in v0.72.0

type RulerOf[T any] interface {
	// Build 将参数与当前规则构建成 [Field] 对象
	Build(string, T) Field
}

RulerOf 数据验证规则

这是 ValidatorOf 与错误信息的组合。 同时也负责将类型相关的泛型验证器转换成与类型无关的 Field

func NewMapRuleFuncOf added in v0.72.0

func NewMapRuleFuncOf[K comparable, V any, M ~map[K]V](v func(V) bool, msg localeutil.LocaleStringer) RulerOf[M]

func NewMapRuleOf added in v0.72.0

func NewMapRuleOf[K comparable, V any, M ~map[K]V](v ValidatorOf[V], msg localeutil.LocaleStringer) RulerOf[M]

NewMapRuleOf 声明用于验证 map 元素的规则

func NewMapRulesOf added in v0.72.0

func NewMapRulesOf[K comparable, V any, M ~map[K]V](r ...RulerOf[V]) RulerOf[M]

func NewRuleFuncOf added in v0.72.0

func NewRuleFuncOf[T any](v func(T) bool, msg localeutil.LocaleStringer) RulerOf[T]

func NewRuleOf added in v0.72.0

func NewRuleOf[T any](v ValidatorOf[T], msg localeutil.LocaleStringer) RulerOf[T]

func NewRulesOf added in v0.72.0

func NewRulesOf[T any](r ...RulerOf[T]) RulerOf[T]

NewRulesOf 将多个规则合并为一个

按顺序依次验证,直接碰到第一个验证不过的。

func NewSliceRuleFuncOf added in v0.72.0

func NewSliceRuleFuncOf[T any, S ~[]T](v func(T) bool, msg localeutil.LocaleStringer) RulerOf[S]

func NewSliceRuleOf added in v0.72.0

func NewSliceRuleOf[T any, S ~[]T](v ValidatorOf[T], msg localeutil.LocaleStringer) RulerOf[S]

NewSliceRuleOf 声明用于验证切片元素的规则

func NewSliceRulesOf added in v0.72.0

func NewSliceRulesOf[T any, S ~[]T](r ...RulerOf[T]) RulerOf[S]

type ValidatorFuncOf added in v0.72.0

type ValidatorFuncOf[T any] func(T) bool

ValidatorFuncOf 验证器的函数形式

func (ValidatorFuncOf[T]) IsValid added in v0.72.0

func (f ValidatorFuncOf[T]) IsValid(v T) bool

type ValidatorOf added in v0.72.0

type ValidatorOf[T any] interface {
	// IsValid 验证参数是否符合验证器的要求
	IsValid(T) bool
}

ValidatorOf 验证器

func And

func And[T any](v ...ValidatorOf[T]) ValidatorOf[T]

And 以与的形式串联多个验证器

func AndFunc added in v0.55.3

func AndFunc[T any](v ...func(T) bool) ValidatorOf[T]

AndFunc 以与的形式串联多个验证器函数

func Not added in v0.72.0

func Not[T any](v ValidatorOf[T]) ValidatorOf[T]

Not 这是对 ValidatorOf 的取反操作

func NotFunc added in v0.72.0

func NotFunc[T any](v func(T) bool) ValidatorOf[T]

func Or

func Or[T any](v ...ValidatorOf[T]) ValidatorOf[T]

Or 以或的形式并联多个验证器

func OrFunc added in v0.55.3

func OrFunc[T any](v ...func(T) bool) ValidatorOf[T]

OrFunc 以或的形式并联多个验证器函数

Jump to

Keyboard shortcuts

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