gookit-validate
Gookit/validate 是一个通用的 Go 数据验证和过滤库。
核心特性
- 多数据源验证:支持 Map、Struct、HTTP Request (Form/JSON/url.Values/UploadedFile)
- 内置 70+ 验证器:覆盖常见验证场景
- 数据过滤/转换:验证前预处理数据
- 自定义验证器:支持全局和临时验证器
- 场景验证:不同场景验证不同字段
- i18n 错误消息:内置 en、zh-CN、zh-TW 支持
- 框架无关:可在 Gin、Echo、Chi 等框架中使用
快速开始
import "github.com/gookit/validate"
type UserForm struct {
Name string `validate:"required|minLen:7" label:"用户名"`
Email string `validate:"email" message:"邮箱格式错误"`
Age int `validate:"required|int|min:1|max:99"`
}
// 验证 Struct
v := validate.Struct(&UserForm{Name: "inhere"})
if v.Validate() {
// 验证通过
} else {
fmt.Println(v.Errors) // 获取错误信息
}
// 快速验证值
ok := validate.Val("test@example.com", "required|email")
主要功能
- USAGE.md - 基础使用指南
- VALIDATORS.md - 内置验证器参考
- ADVANCED.md - 高级用法(自定义验证器、过滤器、场景等)