Documentation ¶
Overview ¶
Package validation 验证功能
Index ¶
- type Rule
- type ValidateFunc
- type Validation
- func (v *Validation) Add(name string, reason localeutil.LocaleStringer)
- func (v *Validation) AddField(val any, name string, rules ...*Rule) *Validation
- func (v *Validation) AddMapField(val any, name string, rules ...*Rule) *Validation
- func (v *Validation) AddSliceField(val any, name string, rules ...*Rule) *Validation
- func (v *Validation) Count() int
- func (v *Validation) Destroy()
- func (v *Validation) Visit(f func(string, localeutil.LocaleStringer) bool)
- 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 Rule ¶
type Rule struct {
// contains filtered or unexported fields
}
func NewRule ¶
func NewRule(message localeutil.LocaleStringer, validator Validator) *Rule
func NewRuleFunc ¶ added in v0.55.2
func NewRuleFunc(message localeutil.LocaleStringer, f func(any) bool) *Rule
type ValidateFunc ¶
ValidateFunc 用于验证指定数据的合法性
func (ValidateFunc) IsValid ¶
func (f ValidateFunc) IsValid(v any) bool
type Validation ¶
type Validation struct {
// contains filtered or unexported fields
}
Validation 验证工具
func (*Validation) Add ¶
func (v *Validation) Add(name string, reason localeutil.LocaleStringer)
Add 直接添加一条错误信息
此方法不受 exitAtError 标记位的影响。
func (*Validation) AddField ¶
func (v *Validation) AddField(val any, name string, rules ...*Rule) *Validation
AddField 验证新的字段
val 表示需要被验证的值; name 表示当前字段的名称,当验证出错时,以此值作为名称返回给用户; rules 表示验证的规则,按顺序依次验证。
func (*Validation) AddMapField ¶
func (v *Validation) AddMapField(val any, name string, rules ...*Rule) *Validation
AddMapField 验证 map 字段
如果字段类型不是 map,将添加一条错误信息,并退出验证。
func (*Validation) AddSliceField ¶
func (v *Validation) AddSliceField(val any, name string, rules ...*Rule) *Validation
AddSliceField 验证数组字段
如果字段类型不是数组或是字符串,将添加一条错误信息,并退出验证。
func (*Validation) Count ¶
func (v *Validation) Count() int
func (*Validation) Destroy ¶
func (v *Validation) Destroy()
Destroy 回收当前对象
这不是一个必须调用的方法,但是该方法在大量频繁地的使用 Validation 时有一定的性能提升。
func (*Validation) Visit ¶
func (v *Validation) Visit(f func(string, localeutil.LocaleStringer) bool)
Visit 依次访问每一条错误信息
f 为访问错误信息的方法,其原型为:
func(key string, reason localeutil.LocaleStringer) (ok bool)
其中的 key 为名称,reason 为出错原因,返回值 ok 表示是否继续下一条信息的访问。
func (*Validation) When ¶
func (v *Validation) When(cond bool, f func(v *Validation)) *Validation
When 只有满足 cond 才执行 f 中的验证
f 中的 v 即为当前对象;
Click to show internal directories.
Click to hide internal directories.