#validation #go
#проверка #Вперед
Вопрос:
Я думаю передать пороговое значение функции Min () и ожидать, что эта функция проверит Name
длину. Однако это не работает.
Ниже приведен мой код:
type Person struct {
Name string
}
func (c Person) Validate() error {
return validation.ValidateStruct(amp;c,
validation.Field(amp;c.Name, validation.Min(5)),
)
}
func main() {
person := Person{
Name: "Udin",
}
if err := person.Validate(); err != nil {
fmt.Println(err)
}
}
После того, как я увижу в документации тест правил проверки Min (), правильный способ его использования:
err := validation.Min(5).Validate(len(person.Name))
Итак, вопрос в том, как использовать эти Min()
правила в validation.ValidateStruct()
?
Возможно ли это?
Комментарии:
1. Вы должны использовать
validation.Length(5, 0)
вместоvalidation.Min(5)
, согласно readme репозитория библиотеки.0
здесь означает отсутствие проверки для максимально допустимой длины.