Download the PHP package justinrainbow/json-schema without Composer
On this page you can find all versions of the php package justinrainbow/json-schema. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download justinrainbow/json-schema
More information about justinrainbow/json-schema
Files in justinrainbow/json-schema
Package json-schema
Short Description A library to validate a json schema.
License MIT
Homepage https://github.com/jsonrainbow/json-schema
Informations about the package json-schema
JSON Schema for PHP
A PHP Implementation for validating JSON
Structures against a given Schema
with support for Schemas
of Draft-3 or Draft-4. Features of newer Drafts might not be supported. See Table of All Versions of Everything to get an overview of all existing Drafts.
See json-schema for more details.
Installation
Library
Composer
Usage
For a complete reference see Understanding JSON Schema.
Note: features of Drafts newer than Draft-4 might not be supported!
Basic usage
Type coercion
If you're validating data passed to your application via HTTP, you can cast strings and booleans to the expected types defined by your schema:
A shorthand method is also available:
Default values
If your schema contains default values, you can have these automatically applied during validation:
With inline references
Configuration Options
A number of flags are available to alter the behavior of the validator. These can be passed as the
third argument to Validator::validate()
, or can be provided as the third argument to
Factory::__construct()
if you wish to persist them across multiple validate()
calls.
Flag | Description |
---|---|
Constraint::CHECK_MODE_NORMAL |
Validate in 'normal' mode - this is the default |
Constraint::CHECK_MODE_TYPE_CAST |
Enable fuzzy type checking for associative arrays and objects |
Constraint::CHECK_MODE_COERCE_TYPES |
Convert data types to match the schema where possible |
Constraint::CHECK_MODE_EARLY_COERCE |
Apply type coercion as soon as possible |
Constraint::CHECK_MODE_APPLY_DEFAULTS |
Apply default values from the schema if not set |
Constraint::CHECK_MODE_ONLY_REQUIRED_DEFAULTS |
When applying defaults, only set values that are required |
Constraint::CHECK_MODE_EXCEPTIONS |
Throw an exception immediately if validation fails |
Constraint::CHECK_MODE_DISABLE_FORMAT |
Do not validate "format" constraints |
Constraint::CHECK_MODE_VALIDATE_SCHEMA |
Validate the schema as well as the provided document |
Please note that using CHECK_MODE_COERCE_TYPES
or CHECK_MODE_APPLY_DEFAULTS
will modify your
original data.
CHECK_MODE_EARLY_COERCE
has no effect unless used in combination with CHECK_MODE_COERCE_TYPES
. If
enabled, the validator will use (and coerce) the first compatible type it encounters, even if the
schema defines another type that matches directly and does not require coercion.
Running the tests
All versions of json-schema with dependencies
marc-mabe/php-enum Version ^2.0 || ^3.0 || ^4.0
icecave/parity Version 1.0.0