mpm.validation

validation framework for the web

mpm.validation

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