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

14 min read

在Go Gin框架中,可以使用结构体标签来实现自定义验证错误提示信息。

例如,我们有一个结构体如下:

type User struct {
    Username string `form:"username" binding:"required,min=4,max=20"`
    Password string `form:"password" binding:"required,min=6,max=20"`
}

其中,UsernamePassword字段分别使用了formbinding标签。form标签指定了该字段在请求中对应的参数名称,而binding标签是用来进行参数验证的。

如果验证失败,Go Gin框架会返回默认的错误提示信息,如下:

{
    "message": "Key: 'User.Username' Error:Field validation for 'Username' failed on the 'required' tag\nKey: 'User.Password' Error:Field validation for 'Password' failed on the 'required' tag",
    "status": 400
}

如果我们想要自定义错误提示信息,可以在binding标签中指定message参数,像这样:

type User struct {
    Username string `form:"username" binding:"required,min=4,max=20,message=用户名不能为空且长度在4-20个字符之间"`
    Password string `form:"password" binding:"required,min=6,max=20,message=密码不能为空且长度在6-20个字符之间"`
}

这样,在参数验证失败时,Go Gin框架就会返回我们自定义的错误提示信息了。