0.1.1 • Published 7 years ago
object-validator-js v0.1.1
object-validator
Small wrapper to validate JSON objects with the Validator library. With some small added validations.
Installation
$ npm install object-validator-js --save
Using
validator( OBJECT, SCHEMA ) returns Array of errors (empty or no array if no errors)
var request = require('request');
var validator = require('object-validator');
request({ url: '/user' }, function (err, res, body) {
validator(data, {
_id: 'isMongoId', // Validator test
active: true, // NonString schema test (doesn't use validator)
enabled: 'isBoolean',
contact: {
first_name: 'isString', // Checks value is typeof string
last_name: 'isString', // Checks value is typeof string
nick_name: 'isString', // Checks value is typeof string
email: 'isEmail', // Validator test
phone: 'isString' // Checks value is typeof string
},
auth: {
login_attempts: 'isInt', // Validator test
username: 'isString', // Validator test
password: 'isNull', // Validator test
token: 'isString' // Checks value is typeof string
},
preferences: { state: { last_emailed: 'isDate' } }, // Validator test
timestamps: {
created: 'isDate', // Validator test
killed: '~isDate' // Validator test but can be null
}
});
});
Additional Validations
isString
in schema - Returns true is value istypeof
string
isBoolean
in Schema - Returns true is value istypeof
boolean
isNumber
in Schema - Returns true is value istypeof
number
isArray
in Schema - Returns true is valueArray.isArray
isFunction
in Schema - Returns true is value istypeof
function
NonString
in schema - Checks value with === comparison;!
beforevalidator method
will give the negative result~
beforevalidator method
validates method if data present (optional)
Errors are all bundled into single array
validator({ path: { to: { value: '23' } } }, { "path.to.value": ['isInt', {min: 2, max: 10}] })
// Error response is array (if no errors it returns true)
[
{
path: 'path.to.value',
validator: [ 'isInt', [Object] ],
value: '23',
message: 'path.to.value failed ["isInt",{"min":2,"max":10}] validator test.'
}
]