私は 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"**
間違っているに違いない...
検証を設定する方法と、「キャッチ」内に正しいエラーを表示する方法がわかりません。
c.JSON(500, gin.H{"Error": errs.Error()})