OSS探訪GitHubでログイン

struct tagとcustom ruleでfield・cross-field・nested collectionを検証するGo validator

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
20,194
主要言語
Go
ライセンス
MIT
リポジトリ最終更新
2026/10/05
ページ内ナビ

概要

go-playground/validatorはGoのstructとfieldをtagベースで検証するlibraryです。field単体だけでなくcross-field/cross-struct、slice・array・mapのdive、map key/value、custom field type、alias tag、i18n対応error messageを扱えます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

struct tagでfield validationとcross-field ruleを宣言する

required、range、network/string系などのbuilt-in validation tagをstruct fieldへ付与し、同一struct内やnested struct間の値関係もvalidationできます。

出典:[2]

slice・mapへdiveしcustom validatorやtranslated errorを組み合わせる

collectionの多段dive、map key/value validation、custom field type、alias tag、JSON field名等の抽出、locale別error translationを組み合わせられます。

出典:[2]

向いている用途

HTTP request DTOやdomain inputのvalidation ruleを共通化したいGo backendに向く

API request、config input、command object等で同じvalidation ruleを再利用し、handler/serviceから条件分岐を減らしたい場合に適します。Ginのdefault validatorとしても利用されています。

出典:[2]

導入前の確認

v10.30.5はGo 1.26。required struct behaviorはv11でdefault変更予定

v10.30.5のgo.modはGo 1.26を指定し、releaseではGo 1.27 supportとsigned integer fieldのport validation修正が含まれます。READMEはWithRequiredStructEnabledがv11+でdefaultになる予定と案内しているため、upgrade前にzero-value structやnested validationの期待値をtestしてください。

出典:[3][2][4]

参考にした公式資料

  1. [1]go-playground/validator — GitHub repository(2026-10-06)
  2. [2]Validator v10.30.5 — README(2026-10-06)
  3. [3]Validator v10.30.5 — go.mod(2026-10-06)
  4. [4]Validator v10.30.5 release(2026-10-06)
  5. [5]Validator MIT license(2026-10-06)
編集部からの補足

request DTOやdomain inputのvalidationをtag中心で共通化できます。v11でrequired struct behaviorのdefault変更が予定されているため、新規導入ではWithRequiredStructEnabledを有効にして将来挙動へ寄せるのが安全です。

3ステップで試す

  1. 1

    ソースを取得

    git clone --depth 1 https://github.com/go-playground/validator.git
  2. 2

    リポジトリへ移動

    cd validator
  3. 3

    公式手順を確認

    READMEのInstallation / Quick Start / Getting Startedにある公式コマンドを続けて実行してください。

    find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
公式READMEで確認

成長

成長の推移 · 直近30日

20,194 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
12
Open PR
101

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

タグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • validation
  • translation
  • error-handling
Stars
20,194
Forks
1,472
Watchers
124
Open Issues
240
Contributors
260
所有者種別
Organization
主要言語
Go
ライセンス
MIT
リポジトリ最終更新
2026/10/05

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?