mongoose-error-helper

0.0.3 • Public • Published

Mongoose Error Helper

Error helper for Mongoose schemas utilising utils to transform complex messages into human language.

Mongoose Validator simply returns Mongoose style validation objects inside an array of messages.

##Installation##

npm install mongoose-error-helper

##Usage##

var errorHelper = require('mongoose-error-helper').errorHelper;


function (req, res, next) {
    //generate `user` here
    user.save(function (err) {
        //If we have an error, call the helper, return, and pass it `next`
        //to pass the "user-friendly" errors to
        if (err) return errorHelper(err, next);
    }
}

##With callback##

var errorHelper = require('mongoose-error-helper').errorHelper;

if(err){
	errorHelper(err, function(errors){
		console.log(errors);
	});
}

##Error Messages Before##

{ message: 'Validation failed',
  name: 'ValidationError',
  errors:
   { username:
      { message: 'Validator "required" failed for path username',
        name: 'ValidatorError',
        path: 'username',
        type: 'required' },
     state:
      { message: 'Validator "enum" failed for path state',
        name: 'ValidatorError',
        path: 'state',
        type: 'enum' },
     email:
      { message: 'Validator "custom validator here" failed for path email',
        name: 'ValidatorError',
        path: 'email',
        type: 'custom validator here' },
     age:
      { message: 'Validator "min" failed for path age',
        name: 'ValidatorError',
        path: 'age',
        type: 'min' } } }

Error Messages After

[ 'username is required.',
  'state not an allowed value.',
  'custom validator here',
  'age below minimum.' ]

##Contributors##

Special thanks to "clarkf" on stackoverflow for for this solution. We made it public for everybody.

Package Sidebar

Install

npm i mongoose-error-helper

Weekly Downloads

827

Version

0.0.3

License

none

Unpacked Size

5.14 kB

Total Files

4

Last publish

Collaborators

  • syntagma