Skip to content
A cross-browser / node.js validator used by resourceful and flatiron
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


A cross-browser / node.js validator used by resourceful and flatiron.


The core of revalidator is simple and succinct: revalidator.validate(obj, schema):

  var revalidator = require('revalidator');

  console.dir(revalidator.validate(someObject, {
    properties: {
      url: {
        description: 'the url the object should be stored at',
        type: 'string',
        pattern: '^/[^#%&*{}\\:<>?\/+]+$',
        required: true
      challenge: {
        description: 'a means of protecting data (insufficient for production, used as example)',
        type: 'string',
        minLength: 5
      body: {
        description: 'what to store at the url',
        type: 'any',
        default: null

This will return with a value indicating if the obj conforms to the schema. If it does not, a descriptive object will be returned containing the errors encountered with validation.

    valid: true // or false
    errors: [/* Array of errors if valid is false */]

In the browser, the validation function is exposed on window.validate by simply including revalidator.js.


Installing npm (node package manager)

  $ curl | sh

Installing revalidator

  $ [sudo] npm install revalidator


All tests are written with vows and should be run with npm:

  $ npm test

Author: Charlie Robbins, Alexis Sellier

Contributors: Fedor Indutny, Bradley Meck, Laurie Harper

License: Apache 2.0

Something went wrong with that request. Please try again.