Не получается валидировать multipart/form-data. Есть два поля: img (картинка) и alt (текст). Как правильно валидировать ситуацию, когда юзер картинку не передает? Делаю вот так:
type ImageUploadForm struct {
	Alt    string `form:"alt" binding:"required"`
	Img  *multipart.FileHeader `form:"img" binding:"required"`
}
func (ctr *imagesController) Upload(c *gin.Context) {
	var imgForm forms.ImageUploadForm
	if err := c.MustBindWith(&imgForm, binding.FormMultipart); err != nil {
		c.Error(err)
		return
	}
        /// Тут дальше обработка, к проблеме уже не относится
}
Код довольно сильно упростил, но, думаю, понятно. Проблема в том, что так не работает. То есть если не указать alt при сабмите формы, то MustBindWith кидает ошибку - все в порядке. Но если не отправлять файл в img, то MustBindWith ошибку почему-то не возвращает. Вопрос: почему и как сделать правильно?
P.s. в заголовке Content-Type передаю multipart/form-data - тут все ок