stefk/jval

JSON Schema validator

dev-master 2024-10-06 09:47 UTC

This package is not auto-updated.

Last update: 2024-11-09 20:22:51 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.

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