文字列バリデーション — JSON Schemaの基本

JSON Schemaで文字列の型制約、長さ制限、パターンマッチングを定義する方法を学びます。

Basic Types

JSON Schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "username": {
      "type": "string",
      "minLength": 3,
      "maxLength": 30
    },
    "bio": {
      "type": "string",
      "maxLength": 500
    }
  },
  "required": ["username"]
}

Test Data

{
  "username": "dev_user42",
  "bio": "Full-stack developer who loves open-source tools."
}

詳細な説明

JSON Schemaにおける string 型は、テキストデータのバリデーションに使用される最も基本的な型の一つです。type: "string" を指定することで、値が文字列であることを保証できます。

主なキーワード:

  • minLength / maxLength: 文字列の最小・最大長を指定します。
  • pattern: 正規表現パターンによるバリデーションを行います。
  • format: emailuridate-time などの事前定義フォーマットを検証します。

これらのキーワードを組み合わせることで、入力値が期待する形式に合致しているかを厳密にチェックできます。例えば、ユーザー名フィールドに minLength: 3maxLength: 20pattern: "^[a-zA-Z0-9_]+$" を設定すれば、3〜20文字の英数字とアンダースコアのみを許可するバリデーションが実現します。

ユースケース

ユーザー名やメールアドレスなどの文字列入力をバリデーションする際に使用します。フォーム入力やAPIリクエストボディの検証に広く適用されます。

試してみる — JSON Schema Validator

フルツールを開く