Go 未定义的验证函数“;xxx“;场上

Go 未定义的验证函数“;xxx“;场上,go,go-gin,Go,Go Gin,当我刚从v1.4.0升级到v1.5.0时,我像往常一样使用了'BindJSON'函数, 并抛出了这个错误 2019/11/29 11:44:13[恢复]2019/11/29-11:44:13恐慌恢复: 字段“FirstName”上存在未定义的验证函数“exists” ... 这是我的密码: 主程序包 进口( “github.com/gin gonic/gin” ) 类型用户结构{ FirstName*string`json:“fn”绑定:“存在”` } func main(){ 路由器:=gi

当我刚从v1.4.0升级到v1.5.0时,我像往常一样使用了'BindJSON'函数, 并抛出了这个错误

2019/11/29 11:44:13[恢复]2019/11/29-11:44:13恐慌恢复:
字段“FirstName”上存在未定义的验证函数“exists”
...
这是我的密码:

主程序包
进口(
“github.com/gin gonic/gin”
)
类型用户结构{
FirstName*string`json:“fn”绑定:“存在”`
}
func main(){
路由器:=gin.Default()
router.POST(“/register”),func(c*gin.Context){
var用户
如果err:=c.BindJSON(&user);err!=nil{
c、 AbortWithStatusJSON(http.StatusBadRequest,gin.H{
“错误”:“名字不能为空”,
})
返回
}
})
路由器运行(“:8080”)
}   

Gin.v1.4.0使用validator.v8进行验证,Gin.v1.5.0使用validator.v9,并且validator从v8到v9删除
exists
标记

因此,您可以这样定义结构:

类型用户结构{
//FirstName*string`json:“fn”绑定:“存在”`
FirstName*string`json:“fn”绑定:“必需”`
}
同样,如果您使用“required”标记并出现此错误,请检查您的
go.mod
文件,并尝试将“github.com/go playery/validator/v8”升级到v9或v10