以下是一个例子,演示了校验规则的有序性:
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{
"age": 17,
}
// 定义验证规则
rules := g.MapStrStr{
"age": "required|between:18,60",
}
// 使用gvalid.CheckMap进行Map校验
if err := gvalid.CheckMap(data, rules, nil); err != nil {
fmt.Println("Map校验失败:", err)
return
}
// 输出验证成功信息
fmt.Println("Map校验成功!")
}
在这个例子中,我们定义了一个待验证的Map数据data,其中包含一个年龄字段age,然后定义了验证规则rules,规定了年龄字段必须在18到60之间。
当我们使用gvalid.CheckMap进行校验时,由于年龄字段的值是17,不在规定的范围内,因此会触发校验失败。这是因为规则中required规则要求字段必须存在,而between:18,60规则则要求年龄在18到60之间。
在实际应用中,确保验证规则的有序性可以帮助你更精确地控制验证逻辑。如果某个规则失败,后续的规则将不会执行。如果需要调整校验规则的顺序,只需在rules中调整规则的排列顺序即可。
转载请注明出处:http://www.zyzy.cn/article/detail/7584/GoFrame