package
1.1.0
Repository: https://github.com/wuyan94zl/go-api.git
Documentation: pkg.go.dev

# README

基于 github.com/thedevsaddam/govalidator 封装的一个验证器

安装

gitee go get gitee.com/wuyan94zl/govalidate
github go get github.com/wuyan94zl/govalidate

使用

定义模型struct

type blog struct {
	Id      uint64 `json:"id"`
	Title   string `json:"title"validate:"required||min:12||max:32"fieldName:"博客标题"`
	Content string `json:"content"validate:"required"fieldName:"博客内容"`
	View    uint64 `json:"view"validate:"numeric"fieldName:"浏览数"`
}

三个字段标签说明
json 定义后 验证时字段名称就为小写了,未定义json 验证字段首字母大写
validate 验证规则,多个规则以 || 隔开
fieldName 验证字段别名,以Title为例:Title字段 不能为空(默认),博客标题 不能为空(定义fieldName)

// r 为 *http.Request

// struct 默认验证
ok, msg := govalidate.StructValidate(r,blog{})
if !ok {
    // 验证不通过,msg 为提示消息
}

// 需要临时增加或删除验证规则,title 最大长度不限制 和 view 必传
mapData, fieldMap := MapDataForStruct(blog{})
// view 添加 required 规则
mapData["view"] = append(mapData["view"], "required")
// title 删除 required(slice删除元素)
mapData["title"] = mapData["title"][0:1] // 删除第三个元素 max:32

// map自定义数据验证
ok, msg := govalidate.MapValidate(r, mapData, fieldMap)
if !ok {
    // 验证不通过,msg 为提示消息
}

# Functions

No description provided by the author
No description provided by the author
No description provided by the author