我一直在使用Go Validator.v2进行字段验证,它对我的非结构体类型的字段非常有效。然而,当涉及到处理基于结构体的字段(在原始结构体中)时,却没有任何文档介绍。https://pkg.go.dev/mod/gopkg.in/validator.v2
我知道v10支持它,但我更喜欢v2中内置的regex支持。是否有任何方法可以为这些基于结构的字段自定义验证?
type user struct {
Name string `validate:"nonzero"`
Age int `validate:"min=21"`
BillingAddress *Address ???
}
我希望如上所示验证BillingAddress字段,或者我只是在Address模型中编写验证标记,它也会自动对其进行验证?
谢谢,任何指针都不胜感激!
1条答案
按热度按时间1bqhqjot1#
验证程序包将递归搜索一个结构体。只需确保嵌套结构体的字段不是匿名的,并且有一个
validate
标记。如果你发现自己在一个包的功能上迷失了方向,看看他们的测试文件,它可能会揭示一些东西。例如,验证程序包测试在这里有一个嵌套结构的例子。
示例:
第一个