Documentation ¶
Overview ¶
Package validation 数据验证
Index ¶
- type ErrorHandling
- type LocaleMessages
- type Messages
- type MessagesOf
- type Rule
- type ValidateFunc
- type Validation
- func (v *Validation) LocaleMessages(p *message.Printer) LocaleMessages
- func (v *Validation) Messages() Messages
- func (v *Validation) NewField(val any, name string, rules ...*Rule) *Validation
- func (v *Validation) NewMapField(val any, name string, rules ...*Rule) *Validation
- func (v *Validation) NewSliceField(val any, name string, rules ...*Rule) *Validation
- func (v *Validation) When(cond bool, f func(v *Validation)) *Validation
- type Validator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ErrorHandling ¶
type ErrorHandling int8
const ( ContinueAtError ErrorHandling = iota // 碰到错误不中断验证 ExitAtError // 碰到错误中断验证 ExitFieldAtError // 碰到错误中断当前字段的其它规则验证 )
当验证出错时的几种可用处理方式
type LocaleMessages ¶ added in v0.7.0
type LocaleMessages = MessagesOf[string]
LocaleMessages 表示一组错误信息的集合
键名查询参数名称,键值则为在解析和验证过种中返回的错误信息。
type Messages ¶
type Messages = MessagesOf[localeutil.LocaleStringer]
Messages 一组未本地化的消息集合
键名查询参数名称,键值则为在解析和验证过种中返回的错误信息。
type MessagesOf ¶ added in v0.7.0
func (MessagesOf[T]) Add ¶ added in v0.7.0
func (msg MessagesOf[T]) Add(key string, val ...T)
Add 为查询参数 key 添加一条新的错误信息
func (MessagesOf[T]) Empty ¶ added in v0.7.0
func (msg MessagesOf[T]) Empty() bool
func (MessagesOf[T]) Merge ¶ added in v0.7.0
func (msg MessagesOf[T]) Merge(m MessagesOf[T])
Merge 将另一个 Messages 内容合并到当前实例
func (MessagesOf[T]) Set ¶ added in v0.7.0
func (msg MessagesOf[T]) Set(key string, val ...T)
Set 将查询参数 key 的错误信息改为 val
type Rule ¶
type Rule struct {
// contains filtered or unexported fields
}
Rule 验证规则
这是对 Validator 的二次包装,保存着未本地化的错误信息,用以在验证失败之后返回给 Validation。
type ValidateFunc ¶
type ValidateFunc = validator.ValidateFunc
type Validation ¶
type Validation struct {
// contains filtered or unexported fields
}
func New ¶
func New(errHandling ErrorHandling, cap int) *Validation
New 返回 Validation 对象
cap 表示初始的 Messages 容量大小;
func (*Validation) LocaleMessages ¶ added in v0.7.0
func (v *Validation) LocaleMessages(p *message.Printer) LocaleMessages
LocaleMessages 返回本地化的验证结果
func (*Validation) NewField ¶
func (v *Validation) NewField(val any, name string, rules ...*Rule) *Validation
NewField 验证新的字段
val 表示需要被验证的值,如果是一个对象且需要验证子字段,那么让对象实现 FieldsValidator 接口, 则会自动调用该方法验证子项,将会将验证完的信息返回给当前的 Validation 实例; name 表示当前字段的名称,当验证出错时,以此值作为名称返回给用户; rules 表示验证的规则,按顺序依次验证。
func (*Validation) NewMapField ¶ added in v0.8.0
func (v *Validation) NewMapField(val any, name string, rules ...*Rule) *Validation
NewMapField 验证 map 字段
如果字段类型不是 map,将直接返回错误。
func (*Validation) NewSliceField ¶ added in v0.8.0
func (v *Validation) NewSliceField(val any, name string, rules ...*Rule) *Validation
NewSliceField 验证数组字段
如果字段类型不是数组或是字符串,将直接返回错误。
func (*Validation) When ¶ added in v0.7.1
func (v *Validation) When(cond bool, f func(v *Validation)) *Validation
When 只有满足 cond 才执行 f 中的验证
f 中的 v 即为当前对象;
Directories ¶
Path | Synopsis |
---|---|
Package is 包提供了一系列的判断函数
|
Package is 包提供了一系列的判断函数 |
gb11643
Package gb11643 解析身分证详情
|
Package gb11643 解析身分证详情 |
gb32100
Package gb32100 统一信用代码校验 GB32100—2015
|
Package gb32100 统一信用代码校验 GB32100—2015 |
luhn
Package luhn 模 10 校验算法 https://en.wikipedia.org/wiki/Luhn_algorithm 1.
|
Package luhn 模 10 校验算法 https://en.wikipedia.org/wiki/Luhn_algorithm 1. |
Package validator 提供各类验证器
|
Package validator 提供各类验证器 |