我对 Go 很陌生,我想通过设置 GIN-GONIC API 来启动。我找到了这个教程,我对这个骨架很满意。但现在我坚持使用我添加的验证过程:“gopkg.in/validator.v2”和
type Todo struct {
gorm.Model
Title string `json:"title"`
Completed int `json:"completed"`
}
变成了
type Todo struct {
gorm.Model
Title string `json:"title" **validate:"size:2"**`
Completed int `json:"completed"`
}
然后在CreateTodo
我添加的函数中:
if errs := validator.Validate(todo); errs!=nil {
c.JSON(500, gin.H{"Error": errs.Error()})
}
但随后一个 POST 调用发送:
“错误”:“类型:未知标签”
经过一些研究,我发现:
在字段标签中使用不存在的验证函数将始终返回 false 并带有错误
validate.ErrUnknownTag
。
所以**validate:"size:2"**
一定是错的......
我不知道如何设置验证以及如何在“catch”中显示正确的错误:
c.JSON(500, gin.H{"Error": errs.Error()})