ikr / tv4-formats

Common JSON Schema string format constraints in the form of tv4 validator callbacks

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About

Provides an implementation of common JSON Schema string format constraints in the form of tv4 validator callbacks. Thus, it's a plug-in for tv4.

Usage

First, install it, together with tv4 itself, via Node.js'es npm into your project

$ npm install --save tv4 tv4-formats

Then, in the code

var tv4 = require('tv4'),
    formats = require('tv4-formats'),
    assert = require('assert'),
    validator = tv4.freshApi(),
    schema = {type: 'string', format: 'date'};

validator.addFormat(formats);
assert(validator.validate('2014-02-11', schema));  // Valid ISO 8601 date
assert(!validator.validate('2014-02-29', schema)); // Invalid. Only 28 days in this February
assert(!validator.validate('11.02.2014', schema)); // Invalid. Wrong date format

Here, the format: 'date' part of the schema validation is provided by tv4-formats package.

Supported formats

  • credit-card-number
  • date (YYYY-MM-DD)
  • date-time (for example, 2014-05-02T12:59:29+00:00)
  • duration (for example, P1DT12H for 1.5 days)
  • time-offset (same format as duration, but can also be negative: -P7D)
  • email
  • guid
  • uri
  • url

About

Common JSON Schema string format constraints in the form of tv4 validator callbacks

License:MIT License


Languages

Language:JavaScript 100.0%