はじめに Goのバリデーション用パッケージのvalidator.v9を使って、条件付き必須のバリデーションを実装したかったのですが、これまでrequired, min, maxくらいしか使っていなかったので、勉強しなおしました。 ちなみにvalidator.v10でも同じ模様です。 公式ドキュメントに丁寧に書いてあるのですが、日本語でまとめられているものが無さそうなので書いておきます。 validator.v9の使い方 この記事を読んでいる人であればおそらく説明の必要もないと思いますが、一応。 公式サンプルをチョットいじっています。 package main import ( "fmt" "github.com/go-playground/validator/v9" ) type User struct { Name string `validate:"required"` Age uin