ошибка *errors.errorString, а не validator.ValidationErrors

Я пытаюсь создать сообщение и проверить его с помощью библиотеки go-playground. Я попытался заполнить поле цены, заполнив пустую строку или алфавит, но сообщение об ошибке, которое я создал, не появляется. в то время как поле заголовка может отображать сообщение, которое я создал.

мой код:

      type BookInput struct {
   Title string      `json:"title" binding:"required"`
   Price json.Number `json:"price" binding:"required,number"`
}

func postBooksHandler(c *gin.Context) {
var bookInput BookInput

err := c.ShouldBindJSON(&bookInput)
if err != nil {

    for _, e := range err.(validator.ValidationErrors) {
        errormessage := fmt.Sprintf("Error on field %s, condition: %s", e.Field(), e.ActualTag())
        c.JSON(http.StatusBadRequest, errormessage)
        return
    }
}

c.JSON(http.StatusOK, gin.H{
    "title": bookInput.Title,
    "price": bookInput.Price,
})

}

почтальон:

0 ответов

Другие вопросы по тегам