mpm.validation

0.1.0 • Public • Published

mpm.validation

Build Status

validation framework for nodejs

mpm.validation help developpers validate data and support async and sync validation, along with chain validation. developpers no longer need to write their own validation framework.

license LGPL

author: mparaiso mparaiso@online.fr

INSTALLATION

npm install mpm.validation

USAGE

var validation = require('mpm.validation');
var assert= require('assert');
// instanciate an email validator
var email = validation.Email();
// using the async api
email.validate('mparaiso@online.fr',function(error,result){
    assert(result==true);
});
email.validate('bogus@web',function(error,result){
        assert(error instanceOf validation.ValidationError);
        console.log(error.message);
});
// using the sync api
assert(email.validateSync('mparaiso.online.fr'));
assert(!email.validateSync('bogus@web'));
console.log(email.getError().message); // should be an email

Chain Validation

// you can chain validators , the chain will stop at the first error
var validation = require('mpm.validation');
var chain = validation.Chain(
    validation.Email(),
    validation.MinLength(15)
);
chain.validate("mparaiso@online.fr",function(error,res){
    assert(res);
});
chain.validate("bob@web.com",function(error,res){
    assert(!res);
    assert(err instanceof Error);
    console.log(error.message);
});

see test/index.test.js file for other examples

Validators

validation.MinLength(min) // min length for a string
validation.MaxLength(max)// max length for a string
validation.Length(min,max)// range for a string length
validation.EqualTo(equalTo) // value should be equal to equalTo
validation.Required()// value should not be null or undefined
validation.Min(min)// number should be at least min
validation.Max(max)//  number should be at most max
validation.Range(min,max)//  number should be between min and max
validation.Regexp(regexp)// value should match a regular expression
validation.Email()// value should be an email
validation.Any(values)// value should be in an array of values
validation.None(values) // value should be none of the values
validation.Every() // validate an array of values. All values should be equal
validation.Chain(validators...) // chain multiple validators

ChangeLog

  • 0.1.0 validation.Every added
  • 0.0.9 validation.Chain can now validate sync
  • 0.0.8 empty validation.Chain fixed

Readme

Keywords

Package Sidebar

Install

npm i mpm.validation

Weekly Downloads

0

Version

0.1.0

License

LGPL

Last publish

Collaborators

  • mpinteractiv