Open10
protovalidate 使ってみる
まだβ版
proto ファイルにインポート追加する
syntax = "proto3";
package my.package;
import "buf/validate/validate.proto";
buf.yaml
に依存関係追加する
buf.yaml
version: v1
# <snip>
deps:
- buf.build/bufbuild/protovalidate
# <snip>
buf mod update
コマンドで必要なライブラリがインストールされる
大前提忘れてた
buf
を使うのでインストール必須
validation を定義する
message User {
string name = 1 [(buf.validate.field).string.min_len = 1, (buf.validate.field).string.max_len = 100];
string email = 2 [(buf.validate.field).string.email = true];
bool verified = 3 [(buf.validate.field).bool.const = true];
bytes password = 4 [(buf.validate.field).bytes.pattern = "^[a-zA-Z0-9]*$"];
}
buf generate
コマンドで proto
ファイルをもとにコードを生成してくれる
go get github.com/bufbuild/protovalidate-go
忘れてた
go get
しないとコンパイルできない