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
文件以获取详细信息。