API 总览
公开接口的紧凑参考。叙述风格的文档见 指南。
完整 Go API(含未导出辅助函数)见 pkg.go.dev/github.com/wuhan005/govalid。
顶层
go
// 校验 v,返回失败列表与整体 ok 标志。
func Check(v interface{}, lang ...language.Tag) (errs []*ErrContext, ok bool)
// 把 templates 合并到指定 locale(省略时为默认)。
func SetMessageTemplates(templates map[string]string, lang ...language.Tag)变量
go
// 标签名——启动时改一次即可使用其他命名空间。
var RulesField = "valid"
var LabelField = "label"
var MessageField = "msg"
// 用于含 {field} / {limit} 的模板的占位符。
var FieldNamePlaceholder = "{field}"
var FieldLimitPlaceholder = "{limit}"
// 已注册的校验器。请在启动时改动。
var Checkers map[string]CheckFunc
// 暴露 MobilePattern 便于替换内置手机号规则。
var MobilePattern *regexp.Regexp类型
CheckFunc—— 校验器函数签名。CheckerContext—— 每个校验器收到的上下文。ErrContext—— 每次失败返回的对象。
辅助函数
go
func NewErrorContext(c CheckerContext) *ErrContext
func MakeUserDefinedError(msg string) *ErrContext
func MakeValueTypeError(c CheckerContext) *ErrContext
func MakeCheckerParamError(c CheckerContext) *ErrContext
func MakeCheckerNotFoundError(c CheckerContext) *ErrContext
func MakeFieldNotFoundError(c CheckerContext) *ErrContext