brainly / jvalidator
该软件包最新版本(dev-master)没有可用的许可证信息。
JSON Schema draft v3 PHP实现
该软件包的官方仓库似乎已不存在,因此已冻结该软件包。
dev-master
2016-05-20 11:20 UTC
Requires (Dev)
- phpunit/phpunit: 3.7.*
- squizlabs/php_codesniffer: 1.4.8
This package is not auto-updated.
Last update: 2024-03-12 04:20:39 UTC
README
JSON Schema validation library for draft v3
- 构建JSON模式并检查其语法
- 对JSON进行模式验证
实现的功能
- 类型:
array、boolean、integer、null、number、object、string、union - 约束:
type、properties、additionalProperties、items、required、minimum、exclusiveMinimum、maximum、minItems、maxItems、uniqueItems、pattern、minLength、maxLength、enum - 其他:
description、id、extends
用法
JSON验证
use Brainly\JValidator\Validator;
$schema = '{...}';
$json = '{...}';
$validator = new Validator();
$validator->validate($json, $schema);
echo "Validation result: " . $validator->getResultCode() . "\n";
print_r($validator->getValidationErrors());
模式构建
use Brainly\JValidator\SchemaProvider;
$provider = new SchemaProvider(__DIR__ . '/SchemaDir');
try {
$schema = $provider->getSchema("test.jsonschema");
} catch (Brainly\JValidator\SchemaProviderException $e) {
die("Can not read schema from file. " . $e->getMessage());
} catch (Brainly\JValidator\SchemaBuilderException $e) {
die("Invalid schema. " . $e->getMessage());
}
分析验证结果
以下函数可用于获取验证结果:
Validator::getResultCode()返回0- 验证通过1- 验证通过,但JSON已被更改(尚未实现)2- JSON不符合模式3- 尚未执行验证
Validator::getValidationErrors()返回包含每个属性的错误的关联数组,例如Array ("property" => "错误信息")
关于
作者
Łukasz Lalik for Brainly - lukasz.lalik@brainly.com - https://twitter.com/LukaszLalik
另请参阅参与此项目的贡献者列表。
许可证
JValidator遵循BSD-3许可证 - 请参阅LICENSE文件以获取详细信息。