UNPKG

tv4-formats

Version:

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

43 lines (32 loc) 1.41 kB
# About Provides an implementation of common [JSON Schema](http://json-schema.org/) string format constraints in the form of [tv4 validator callbacks.](https://github.com/geraintluff/tv4#addformatformat-validationfunction) Thus, it's a plug-in for [tv4.](https://github.com/geraintluff/tv4) # Usage First, install it, together with tv4 itself, via Node.js'es [npm](https://www.npmjs.org/) into your project $ npm install --save tv4 tv4-formats Then, in the code ```javascript 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](http://en.wikipedia.org/wiki/Iso8601#Durations) (for example, P1DT12H for 1.5 days) * time-offset (same format as duration, but can also be negative: -P7D) * email * [guid](https://en.wikipedia.org/wiki/Globally_unique_identifier) * uri * url