package main
import (
"fmt"
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/util/gvalid"
)
func main() {
// 初始化GoFrame框架
g.Init()
// 定义待验证的Map数据
data := g.Map{
"name": "John Doe",
// "age"字段被注释掉,即不存在
}
// 定义验证规则
rules := g.MapStrStr{
"name": "required|length:1,30",
"age": "-|min:18", // 使用减号表示可选校验
}
// 使用gvalid.CheckMap进行Map校验
if err := gvalid.CheckMap(data, rules, nil); err != nil {
fmt.Println("Map校验失败:", err)
return
}
// 输出验证成功信息
fmt.Println("Map校验成功!")
}
在这个例子中,我们定义了一个待验证的Map数据data,其中包含一个姓名字段name和一个被注释掉的年龄字段age,即age字段不存在。
我们定义了验证规则rules,要求姓名字段必须存在且长度在1到30之间,而年龄字段是可选的,如果存在,则要求年龄不小于18。在年龄字段的验证规则中,我们使用了减号-来表示可选校验。
当我们使用gvalid.CheckMap进行校验时,由于年龄字段不存在,校验不会失败,输出验证成功的信息。
这种方式可以方便地处理那些可选的字段,使得在验证时不会因为字段不存在而触发验证失败。
转载请注明出处:http://www.zyzy.cn/article/detail/7585/GoFrame