1

今日、私のニーズに 100% 適合しているように見える JSON Schema を発見しましたが、実際には、最も基本的なケースの 1 つに頭がおかしくなりました。この投稿を作成する前に、私は明らかに既存のドキュメントに従うために最善を尽くし、何か役立つものを見つけようとしてインターネットを調べました.

スタック: PHP7 - justinrainbow/json-schema 2.0.5

スキーマは次のとおりです。

{
   "description":"UserCreate",
   "type":"object",
   "properties":{
      "login":{
         "type":"string",
         "required":true
      },
      "idAsc":{
         "type":"string",
         "required":true
      }
   },
   "required":[
      "login",
      "idAsc"
   ]
}

ご覧のとおり、必要な定義 (ブール値と配列) の両方を使用していますが、適切なものを使用していることを確認するために、配列またはブール値のみを使用して同じ結果を得ました。

ここにデータがあります

{
   "login":"email@email.com"
}

次のコードが、必要な idAsc パラメーターの欠如を検出することを期待しています。

$validator = new JsonSchema\Validator;
$validator->check($data, $schema);
if ($validator->isValid() == false)
    echo("Missing something");
else
    echo("Good");

しかし、このコードは「良い」と出力し続けます... JSON スキーマについて間違いなく何かが欠けています。

よろしくお願いします。

4

2 に答える 2