A JSON Schema validator written in PHP
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
src
tests
.gitattributes
.gitignore
.scrutinizer.yml
.travis.yml
LICENSE
README.md
composer.json
coverage.sh
phpunit.xml

README.md

JVal

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.

Build Status Code Coverage Scrutinizer Code Quality

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