type LoginParams struct { Name string valid:"Required" Age int valid:"Required;MinSize(2)" Addr string valid:"Required" } func (l *LoginController) Post() { valid := validation.Validation{} // 解析到结构体 params := LoginParams{} if err := l.ParseForm(&params); err != nil { //handle error return } //重写错误信息:validation.SetDefaultMessage(map) var messages = map[string]string{ "Required": "不能为空", "MinSize": "最短长度为 %d", "Length": "长度必须为 %d", "Numeric": "必须是有效的数字", "Email": "必须是有效的电子邮件地址", "Mobile": "必须是有效的手机号码", } validation.SetDefaultMessage(messages) // 校验 b, err := valid.Valid(&params) // 验证StructTag 是否正确 if err != nil { fmt.Println(err) } if !b { // 验证没通过,则b为false for _, err := range valid.Errors { fmt.Println(err.Key, err.Message) message := err.Key + err.Message l.Ctx.WriteString(message) } } }