今天我发现了JSON Schema,它看上去完全符合我的需求,但它实际上让我对最基本的案例之一感到疯狂。在创建这篇文章之前,我显然已经尽力遵循现有的文档,并在互联网上寻找帮助的东西。JSON Schema:忽略必需的属性
堆栈:PHP7 - justinrainbow/JSON-模式2.0.5
这里是架构:
{
"description":"UserCreate",
"type":"object",
"properties":{
"login":{
"type":"string",
"required":true
},
"idAsc":{
"type":"string",
"required":true
}
},
"required":[
"login",
"idAsc"
]
}
正如你可以看到我使用要求两者定义(布尔和数组),只是确保我使用的是好的,我也只用数组和布尔值来尝试,结果相同。
下面是数据
{
"login":"[email protected]"
}
我期待下面的代码来检测缺乏必要的idAsc参数。
$validator = new JsonSchema\Validator;
$validator->check($data, $schema);
if ($validator->isValid() == false)
echo("Missing something");
else
echo("Good");
但这个代码保持打印“好” ......我肯定失去了一些东西有关JSON模式。
感谢的对你有所帮助,最好的问候。
http://json-schema.org/implementations.html列出了5种不同的JSON模式验证了PHP。你在使用哪一个? – Barmar
@Barmar你可以在我的“堆栈”部分找到它:实际上使用justinrainbow/json-schema - > https://github.com/justinrainbow/json-schema –