govalidator 方便的golang 数据校验框架
govalidator提供了基于tag 的golang 数据类型校验,实际上其他语言比如.net java ,typescript 也都有类似的框架
以下是一个简单的试用
环境准备
- go mod
go mod init demoapp
- 简单代码
main.go
package main
import "github.com/asaskevich/govalidator"
type user struct {
Name string ``
Age int `valid:"range(2|50)"`
Email string `valid:"email"`
}
func main() {
result, err := govalidator.ValidateStruct(user{"Bob", 20, "meta@qq.com"})
if err != nil {
println("error: " + err.Error())
}
println(result)
}
说明
govalidator还是很方便的,提供了tag 模式以及函数工具类模式
参考资料
https://github.com/asaskevich/govalidator
https://pkg.go.dev/github.com/asaskevich/govalidator