|
|
/*! * Module requirements */
var MongooseError = require('../error.js');
/** * Document Validation Error * * @api private * @param {Document} instance * @inherits MongooseError */
function ValidationError(instance) { if (instance && instance.constructor.name === 'model') { MongooseError.call(this, instance.constructor.modelName + ' validation failed'); } else { MongooseError.call(this, 'Validation failed'); } if (Error.captureStackTrace) { Error.captureStackTrace(this); } else { this.stack = new Error().stack; } this.name = 'ValidationError'; this.errors = {}; if (instance) { instance.errors = this.errors; } }
/*! * Inherits from MongooseError. */
ValidationError.prototype = Object.create(MongooseError.prototype); ValidationError.prototype.constructor = MongooseError;
/** * Console.log helper */
ValidationError.prototype.toString = function() { var ret = this.name + ': '; var msgs = [];
Object.keys(this.errors).forEach(function(key) { if (this === this.errors[key]) { return; } msgs.push(String(this.errors[key])); }, this);
return ret + msgs.join(', '); };
/*! * Module exports */
module.exports = exports = ValidationError;
|