Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

proxy-validator

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

proxy-validator

Small package that leverages the power of ES6 Proxy to validate and sanitize objects.

  • 1.1.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
18
increased by80%
Maintainers
1
Weekly downloads
 
Created
Source

Build Status

proxy-validator

Small package that leverages the power of ES6 Proxy to validate and sanitize objects.

Learn More, read the article:

How I made a validation library using ES6 Proxy

Installation

$ npm i proxy-validator

Usage

The API is fairly simple. Create a validator by providing a validation schema and/or a sanitizing schema.

import ProxyValidator from 'proxy-validator';

// The schema props correspond to the props that will be validated.
const validators = {
  // Define a set of rules to apply for each prop, each rule is formed by a key and a value.
  name: {
    // The key corresponds to a validator function.
    isLength: {
      // The value can be either an object, containing options and an errorMessage...
      options: {
        min: 6
      },
      errorMessage: 'Minimum length 6 characters.'
    },
    // ...or a boolean, in which case the message will be the default one.
    isUppercase: true
  },
  mobile: {
    isMobilePhone: {
      options: 'en-GB',
      errorMessage: 'Invalid mobile number.'
    },
    isAlphanumeric: true
  }
};

const sanitizers = {
  // As with the validation, the sanitizing schema is formed by a a key/value pair.
  name: {
    // The key corresponds with the sanitizing function
    trim: true // and the value can be either boolean (use defaults)
  },
  email: {
    normalizeEmail: {
      options: { // ...or a config options object.
        all_lowercase: true
      }
    }
  }
};

// Creates a validator
const ContactValidator = ProxyValidator(validators, sanitizers);

// Creates a proxy that will enforce the validator rules.
const contact = ContactValidator();

contact.name = 'Mike'; // throws errors
contact.name = ' MICHAEL';
console.log(contact); // { name: 'MICHAEL' };

Validators

The validation is based on the amazing lib validator by chriso. Find the complete list of available validators and sanitizers in here.

Keywords

FAQs

Package last updated on 22 Jul 2018

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