Skip to main content
Version: 1.16.x

数据校验组件提供了一些常用的快捷包方法,用于直接执行数据校验。

接口文档https://godoc.org/github.com/gogf/gf/util/gvalid

func CheckValue(ctx context.Context, value interface{}, rules string, messages interface{}, params ...interface{}) Error
func CheckMap(ctx context.Context, params interface{}, rules interface{}, messages ...CustomMsg) Error
func CheckStruct(ctx context.Context, object interface{}, rules interface{}, messages ...CustomMsg) Error
func CheckStructWithData(ctx context.Context, object interface{}, data interface{}, rules interface{}, messages ...CustomMsg) Error

简要说明:

  1. CheckValue 方法用于单条数据校验,比较简单,方法详细介绍请看后续章节。
  2. CheckMap 方法用于多条数据校验,校验的主体变量为 map 类型,方法详细介绍请看后续章节。
  3. CheckStruct 方法用于多条数据校验:
    • 校验的规则来源于 object 参数及 customRulescustomRules 合并覆盖 object 中的校验规则)
    • 校验的变量为给定的 object 参数(注意会有 struct 属性默认值影响校验规则)
    • 方法详细介绍请看后续章节
  4. CheckStructWithData 方法用于多条数据校验:
    • 校验的规则来源于 object 参数及 rulesrules 合并覆盖 object 中的校验规则)
    • 校验的变量为给定的 data 参数
    • 方法详细介绍请看后续章节
  5. Check* 方法只有在返回 nil 的情况下,表示数据校验成功,否则返回校验出错的错误信息接口 Error

在所有的校验方法中,第一个参数都要求输入 Context 上下文变量参数,用于上下文变量的传递、校验功能的设定、后续的可扩展能力。该参数虽然直接传递 nil 也是可以的,但是为保证程序的严谨性,我们建议您当不知道传递什么或者没有特殊要求的时候传递 context.TODO() 或者 context.Background() 来替代。