美文网首页
gin框架自定义验证错误提示信息

gin框架自定义验证错误提示信息

作者: 多不了少不了 | 来源:发表于2021-08-11 12:07 被阅读0次
    // 定义请求
    type LoginRequest struct {
        Mobile string `form:"mobile" json:"mobile" binding:"required" required_err:"请输入手机号码"`
        Code   string `form:"code" json:"code" binding:"required" err:"请输入验证码"`
    }
    
    // 自定义错误消息
    func GetError(errs validator.ValidationErrors, r interface{}) string {
        s := reflect.TypeOf(r)
        for _, fieldError := range errs {
            filed, _ := s.FieldByName(fieldError.Field())
            errTag := fieldError.Tag() + "_err"
            // 获取对应binding得错误消息
            errTagText := filed.Tag.Get(errTag)
            // 获取统一错误消息
            errText := filed.Tag.Get("err")
            if errTagText != "" {
                return errTagText
            }
            if errText != "" {
                return errText
            }
            return fieldError.Field() + ":" + fieldError.Tag()
        }
        return ""
    }
    
    // 解析参数返回错误
    func Test(c *gin.Context) {
        var r LoginRequest
        if err := c.ShouldBindQuery(&r); err != nil {
            c.String(200, GetError(err.(validator.ValidationErrors), r))
            return
        }
        c.String(200, "SUCCESS")
        return
    }
    
    

    相关文章

      网友评论

          本文标题:gin框架自定义验证错误提示信息

          本文链接:https://www.haomeiwen.com/subject/cntcbltx.html