rest_validate_array_value_from_schema()


WordPressのrest_validate_array_value_from_schema()関数は、REST APIのリクエストで送信された配列データが指定されたスキーマに準拠しているかを検証するために使用されます。

構文

rest_validate_array_value_from_schema( array $value, array $schema, string $param );

引数の説明:

  • $value(array) — 検証する配列データ。
  • $schema(array) — 検証に使用するスキーマ。
  • $param(string) — 検証対象のパラメータ名。

例1: 基本的な配列の検証

この例では、配列がスキーマに準拠しているかを検証します。

$value = ['name' => 'John', 'age' => 30]; $schema = ['type' => 'object', 'properties' => ['name' => ['type' => 'string'], 'age' => ['type' => 'integer']]]; rest_validate_array_value_from_schema($value, $schema, 'user');

例2: 必須フィールドの検証

必須フィールドが存在するかを検証します。

$value = ['name' => 'Jane']; $schema = ['type' => 'object', 'required' => ['name'], 'properties' => ['name' => ['type' => 'string']]]; rest_validate_array_value_from_schema($value, $schema, 'user');

例3: 文字列の長さの検証

文字列の長さが指定された範囲内にあるかを検証します。

$value = ['description' => 'Short text']; $schema = ['type' => 'object', 'properties' => ['description' => ['type' => 'string', 'minLength' => 10, 'maxLength' => 100]]]; rest_validate_array_value_from_schema($value, $schema, 'post');

例4: 数値の範囲の検証

数値が指定された範囲内にあるかを検証します。

$value = ['age' => 25]; $schema = ['type' => 'object', 'properties' => ['age' => ['type' => 'integer', 'minimum' => 18, 'maximum' => 99]]]; rest_validate_array_value_from_schema($value, $schema, 'user');

例5: 配列の要素の検証

配列の各要素が特定の型であるかを検証します。

$value = ['tags' => ['wordpress', 'php', 'rest-api']]; $schema = ['type' => 'object', 'properties' => ['tags' => ['type' => 'array', 'items' => ['type' => 'string']]]]; rest_validate_array_value_from_schema($value, $schema, 'post');

例6: ネストされたオブジェクトの検証

ネストされたオブジェクトがスキーマに準拠しているかを検証します。

$value = ['user' => ['name' => 'Alice', 'address' => ['city' => 'Tokyo']]]; $schema = ['type' => 'object', 'properties' => ['user' => ['type' => 'object', 'properties' => ['name' => ['type' => 'string'], 'address' => ['type' => 'object', 'properties' => ['city' => ['type' => 'string']]]]]]]; rest_validate_array_value_from_schema($value, $schema, 'profile');

例7: カスタムエラーメッセージの設定

検証に失敗した場合にカスタムエラーメッセージを返します。

$value = ['email' => 'invalid-email']; $schema = ['type' => 'object', 'properties' => ['email' => ['type' => 'string', 'format' => 'email', 'error_message' => '有効なメールアドレスを入力してください']]]; rest_validate_array_value_from_schema($value, $schema, 'contact');

注意点

  • スキーマ定義が正しくない場合、検証が失敗する可能性があります。
  • 検証対象のデータが配列でない場合、エラーが発生します。
  • カスタムエラーメッセージを使用する場合、スキーマにerror_messageを追加してください。

関連機能: