invalid composite literal type validator.FieldError

Рейтинг: 0Ответов: 1Опубликовано: 25.07.2023

введите сюда описание изображенияНе понимаю, почему нельзя так сделать... Подскажите, пожалуйста

    validationErrors = validator.ValidationErrors{
    &validator.FieldError{
        FieldError: errors.FieldError{
            Field: "Name",
            Tag:   "required",
            Err:   fmt.Errorf("Name is required"),
        },
    },
    &validator.FieldError{
        FieldError: errors.FieldError{
            Field: "Age",
            Tag:   "gte",
            Param: "18",
            Err:   fmt.Errorf("Age must be greater than or equal to 18"),
        },
    },
}

Ответы

▲ 1

Я так понимаю, речь идёт о пакете github.com/go-playground/validator?

В этом пакете тип FieldError определяет интерфейс. У него нет данных, есть только набор операций, которые реализации должны предоставлять.

Вам нужно найти тип, который реализует все методы FieldError, и использовать объекты этого типа для заполнения массива ValidationErrors

В пакете такой тип есть, но вы им воспользоваться не сможете. Это внутренний тип fieldError

Сделайте свой тип по образу и подобию fieldError, включая все методы, и пользуйтесь им.