使用 goplayground 验证器库验证结构数组

Raj*_*esh 2 validation go go-playground

如何使用验证器框架验证结构切片?

例如,在以下类型定义中,我想验证 field 中的每个元素Puppies

type User struct {
    FirstName string `json:"fname" validate:"alpha"`
    LastName  string `json:"lname" validate:"alpha"`
    Email     string `json:"email" validate:"required,email"`
    Puppies   []*Dog `json:"puppies"`
    // Puppy *Dog
}

type Dog struct {
    PuppyName string `json:"puppyname" validate:"alpha"`
}
Run Code Online (Sandbox Code Playgroud)

https://play.golang.org/p/9-1Ih76hD7j不适用于狗数组。

https://play.golang.org/p/PGQT3jaFVuS正在工作 - 只有一只狗。

我想验证结构体切片,我们可以使用 goplayground 验证器框架来完成吗?

Ibl*_*sto 6

使用dive标签对可迭代结构执行验证:

Puppies   []*Dog `json:"puppies" validate:"dive"`
Run Code Online (Sandbox Code Playgroud)

参考https://godoc.org/github.com/go-playground/validator#hdr-Dive