acceptance

Validate dynamic parameters against a predefined schema

npm install acceptance
3 downloads in the last week
12 downloads in the last month

Validate parameters from an object (such as express's req.query) and return any errors based on a schema defined.

npm install acceptance

Any parameters not defined in the schema will be discarded in the output a.accepted

var accept = require('acceptance').accept;

var schema = {
  name: {
    required: true,
    validation: { regex: /^[a-zA-Z0-9]+$/, message: 'Not alpha numeric' }
  },
  phone: {
    required: false,
    validation: { regex: /^-?[0-9]+$/, message: 'Not a valid integer' }
  },
  location: {
    required: true,
    validation: false
  }
}

var params = { name: 'bradley', phone: '012345hello', random: 'a random param' };

var a = accept(params, schema);
if(a.errors) {
  console.log(a.errors);
}
else {
  console.log(a.accepted);
}

Will output:

[ { field: 'phone', message: 'Not a valid integer' }, // Invalid match with regex
  { field: 'location', message: 'Missing Field' } ]   // Not present in the params given

Run the tests make test

Build Status

npm loves you