1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- /*!
- * 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");
- }
- 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;
|