2 回答

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超6個(gè)贊
正如有關(guān)多個(gè)驗(yàn)證器的庫文檔所述,
字段上的多個(gè)驗(yàn)證程序?qū)炊x的順序進(jìn)行處理。
如上所述@Flimzy,您可以使用 omitempty 來驗(yàn)證結(jié)構(gòu)上的可選字段,但應(yīng)排在列表的第一位。否則,將對其進(jìn)行驗(yàn)證并收到錯(cuò)誤。omitempty
Phone string `validate:"omitempty,e164"`
簡單的代碼證明如下,您可以在操場上奔跑
package main
import (
"github.com/go-playground/validator/v10"
"log"
)
func main() {
sv := validator.New()
res := Response{}
err := sv.Struct(&res)
if err != nil {
log.Fatalln(err) // no error
}
res2 := Response2{}
err = sv.Struct(&res2)
if err != nil {
log.Fatalln(err) // error
}
}
type Response struct {
Phone string `validate:"omitempty,e164"`
}
type Response2 struct {
Phone string `validate:"e164,omitempty"`
}
- 2 回答
- 0 關(guān)注
- 104 瀏覽
添加回答
舉報(bào)