Open1
【Go】バリデーションライブラリの比較
- structにタグを指定してバリデーションできる
- 複数のバリデーションエラーを検知・出力できる
package main
import (
"fmt"
"github.com/go-playground/validator/v10"
)
type Request struct {
Name string `validate:"required"`
Age int `validate:"required,gt=0"`
}
func main() {
validate := validator.New()
fmt.Println(validate.Struct(Request{
Age: -100,
}))
}
Key: 'Request.Name' Error:Field validation for 'Name' failed on the 'required' tag
Key: 'Request.Age' Error:Field validation for 'Age' failed on the 'gt' tag