Socket
Socket
Sign inDemoInstall

object-validator-js

Package Overview
Dependencies
1
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    object-validator-js

Using Validator.js to compare a object to a schema.


Version published
Maintainers
1
Install size
758 kB
Created

Readme

Source

object-validator

NPM Version NPM Downloads

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 is typeof string
  • isBoolean in Schema - Returns true is value is typeof boolean
  • isNumber in Schema - Returns true is value is typeof number
  • isArray in Schema - Returns true is value Array.isArray
  • isFunction in Schema - Returns true is value is typeof function
  • NonString in schema - Checks value with === comparison;
  • ! before validator method will give the negative result
  • ~ before validator 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.'
      }
    ]

Keywords

FAQs

Last updated on 30 Nov 2016

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc