node-validator-tool
Simple module for data validation
Last updated 3 years ago by ok3x .
ISC · Original npm · Tarball · package.json
$ cnpm install node-validator-tool 
SYNC missed versions from official npm registry.

Config module

Simple module for data validation. It is a standalone piece of code that does not require any other node modules.

Installation

In your project folder run:

npm install --save node-validator-tool

Note: The module code uses few ES6 features, so at least 4.4.5 version of Node is required.

Usage

First you need to include the module and optionally configure it.

const validator = require("node-validator-tool").create();

Require the module and call create factory function with no argument. If the rules parameter is passed, the validator tries to add custom validation rules (see below).

const userValidator = require('node-validator-tool').create({
    "name_length": (name) => name.length > 3,   // lambda
    "name_format": /^[A-Z][a-z]+$/, // RegExp
});

As you can see, the validation rule has a name and a validator Function, RegExp or String "named validator". Any other type causes an Error to be thrown. Validator module supports few validation rules called named validators by default (see the source).

Using the validator module is simple:

userValidator.addRule("adult", (age) => age > 18); // adding new rule

userValidator.hasRule("adult"); // true

userValidator.validate(17, "adult"); // false

userValidator.validate(17, "number"); // true, using default named validation rule

userValidator.removeRule("adult") // removing rule on-the-fly

Validator module can be used to validate not only single values, but whole objects too. Just initialize the module with a dictionary of rules that corresponds to tested object properties.

const validator = require('node-validator-tool').create({
    "name": "text",    
    "age": (age) => age > 18,
    "social.nick": /^[A-Z][a-z]+$/,  // object travsersing
    "local.id": "number"
});

const user = {
    "name": "Jon",
    "age": 15,
    "social": {
        "nick": "Jonaz"    
    },
    "local.id": 112
};

const result = validator.validateAll(user);
const errors = validator.hasErrors() ? validator.getErrors() : null;

Issues

Since the github repo is not ready yet, please use my email address in profile to contact me. Cheers!

Current Tags

  • 1.1.2                                ...           latest (3 years ago)

14 Versions

  • 1.1.2                                ...           3 years ago
  • 1.1.1                                ...           4 years ago
  • 1.1.0                                ...           4 years ago
  • 1.0.10                                ...           4 years ago
  • 1.0.9                                ...           4 years ago
  • 1.0.8                                ...           4 years ago
  • 1.0.7                                ...           4 years ago
  • 1.0.6                                ...           4 years ago
  • 1.0.5                                ...           4 years ago
  • 1.0.4                                ...           4 years ago
  • 1.0.3                                ...           4 years ago
  • 1.0.2                                ...           4 years ago
  • 1.0.1                                ...           4 years ago
  • 1.0.0                                ...           4 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 2
Dependencies (0)
None
Dev Dependencies (1)
Dependents (0)
None

Copyright 2014 - 2017 © taobao.org |