claroline / jval
JSON Schema validator
1.0.0
2016-09-25 10:45 UTC
Requires
- php: >=5.4.1
- ext-mbstring: *
Requires (Dev)
- fabpot/php-cs-fixer: ~1.10
- json-schema/json-schema: dev-master
- json-schema/test-suite: dev-master
- phpunit/phpunit: ~4.8
This package is auto-updated.
Last update: 2024-12-03 10:42:19 UTC
README
A JSON Schema validator written in PHP.
Features:
- Full draft 4 support (passes the whole official [test suite] (https://github.com/json-schema/JSON-Schema-Test-Suite), except for the two tests that require big nums to be treated as integers, which is not feasible in PHP)
- Distinct steps for references resolution, syntax parsing and data validation.
Installation
composer require stefk/jval dev-master
Basic usage
$validator = JVal\Validator::buildDefault(); $violations = $validator->validate($data, $schema);
Data can be anything that might result from a call to json_decode
. The schema
must be the JSON-decoded representation of a JSON Schema, i.e. a stdClass
instance.
If the schema contains relative references to external schemas (either remote or local), the absolute URI of the base schema will probably be needed as well:
$validator = JVal\Validator::buildDefault(); $violations = $validator->validate($data, $schema, 'file://path/to/the/schema');
CLI
bin/jval path/to/data path/to/schema