我今天发现了 JSON Schema,它看起来 100% 符合我的需求,但它实际上让我对最基本的案例之一感到抓狂。在创建这篇文章之前,我显然尽了最大努力遵循现有的文档,并在互联网上寻找一些有用的东西。
堆栈: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 Schema 的东西。
谢谢你的帮助,最好的问候。