数据校验组件提供了一些常用的快捷包方法,用于直接执行数据校验。
接口文档: 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
简要说明:
CheckValue
方法用于单条数据校验,比较简单,方法详细介绍请看后续章节。CheckMap
方法用于多条数据校验,校验的主体变量为map
类型,方法详细介绍请看后续章节。CheckStruct
方法用于多条数据校验:- 校验的规则来源于
object
参数及customRules
(customRules
合并覆盖object
中的校验规则) - 校验的变量为给定的
object
参数(注意会有struct
属性默认值影响校验规则) - 方法详细介绍请看后续章节
- 校验的规则来源于
CheckStructWithData
方法用于多条数据校验:- 校验的规则来源于
object
参数及rules
(rules
合并覆盖object
中的校验规则) - 校验的变量为给定的
data
参数 - 方法详细介绍请看后续章节
- 校验的规则来源于
Check*
方法只有在返回nil
的情况下,表示数据校验成功,否则返回校验出错的错误信息接口Error
。
在所有的校验方法中,第一个参数都要求输入 Context
上下文变量参数,用于上下文变量的传递、校验功能的设定、后续的可扩展能力。该参数虽然直接传递 nil
也是可以的,但是为保证程序的严谨性,我们建议您当不知道传递什么或者没有特殊要求的时候传递 context.TODO()
或者 context.Background()
来替代。