ошибка *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,
})
}
почтальон: