New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

validator.js-validate

Package Overview
Dependencies
Maintainers
7
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

validator.js-validate

Opinionated object validation function based on validator.js

  • 1.1.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
7
Created
Source

validator.js-validate

Opinionated object validation function based on validator.js.

Status

npm version node version build status

Installation

Install the package via yarn:

$ yarn add validator.js-validate

or via npm:

$ npm install validator.js-validate --save

Usage

Create validate function

This module exports a function that creates a validate function, for instance:

import createValidateFunction from 'validator.js-validate';

const validate = createValidateFunction();

The created validate function works just like validating an object, but replaces the last groups argument with an options object:

validate(data[Object], constraint[Object|Constraint], options[Object])

Options

mask (Default: true)

Returns given data masked with given constraint keys:

const data = { foo: 'bar', qux: 'qix' };
const constraint = { foo: is.equalTo('bar') };

console.log(validate(data, constraint));
// { foo: 'bar' }

console.log(validate(data, constraint, { mask: false }));
// true
throws (Default: true)

Throws a new error when validation fails. To enable this option you must pass an error class when creating the validate function as argument.

This error constructor should be prepared to receive violations as argument, for example:

import StandardError from 'standard-error';
import createValidateFunction from 'validator.js-validate';

class ValidationFailedError extends StandardError {
  constructor(errors) {
    super({ errors });
  }
}

const validate = createValidateFunction(ValidationFailedError);
const data = { foo: 'bar' };
const constraint = { foo: is.equalTo('biz') };

try {
  validate(data, constraint);
} catch (e) {
  console.log(e);
  // ValidationFailedError {
  //   errors: {
  //     foo: [{
  //       __class__: 'Violation',
  //       assert: {
  //         __class__: 'EqualTo',
  //         ...
  //       }
  //     }]
  //   }
  // }
  }
}

console.log(validate(data, constraint, { throws: false }));
// {
//   foo: [{
//     __class__: 'Violation',
//     assert: {
//       __class__: 'EqualTo',
//       ...
//     }
//   }]
// }
groups

Use this option to validate with validation groups:

const data = { foo: 'bar' };
const constraint = { foo: [is('bar').EqualTo('bar'), is('biz').equalTo('biz')] };

console.log(validate(data, constraint, { groups: 'biz' }));
// {
//   foo: [{
//     __class__: 'Violation',
//     assert: {
//       __class__: 'EqualTo',
//       ...
//     }
//   }]
// }

console.log(validate(data, constraint, { groups: 'bar' }));
// { foo: 'bar' }

Test suite

Use the test script to run the test suite:

$ yarn test

To test check coverage use the cover script:

$ yarn cover

A full coverage report will be generated on the coverage folder.

Release

$ yarn release [<version> | major | minor | patch]

License

MIT

FAQs

Package last updated on 29 May 2017

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc