/*!
|
|
* Module dependencies.
|
|
*/
|
|
|
|
var MongooseError = require('../error');
|
|
|
|
/**
|
|
* Schema validator error
|
|
*
|
|
* @param {String} path
|
|
* @param {String} msg
|
|
* @param {String|Number|any} val
|
|
* @inherits MongooseError
|
|
* @api private
|
|
*/
|
|
|
|
function ValidatorError (path, type, val) {
|
|
var msg = type
|
|
? '"' + type + '" '
|
|
: '';
|
|
|
|
var message = 'Validator ' + msg + 'failed for path ' + path
|
|
if (2 < arguments.length) message += ' with value `' + String(val) + '`';
|
|
|
|
MongooseError.call(this, message);
|
|
Error.captureStackTrace(this, arguments.callee);
|
|
this.name = 'ValidatorError';
|
|
this.path = path;
|
|
this.type = type;
|
|
this.value = val;
|
|
};
|
|
|
|
/*!
|
|
* toString helper
|
|
*/
|
|
|
|
ValidatorError.prototype.toString = function () {
|
|
return this.message;
|
|
}
|
|
|
|
/*!
|
|
* Inherits from MongooseError
|
|
*/
|
|
|
|
ValidatorError.prototype.__proto__ = MongooseError.prototype;
|
|
|
|
/*!
|
|
* exports
|
|
*/
|
|
|
|
module.exports = ValidatorError;
|