数据校验组件提供了一些常用的快捷包方法,用于直接执行数据校验。
接口文档: 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()来替代。