Skip to content

Instantly share code, notes, and snippets.

@oivoodoo
Created March 6, 2011 21:42
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save oivoodoo/857714 to your computer and use it in GitHub Desktop.
Save oivoodoo/857714 to your computer and use it in GitHub Desktop.
Mongoose multiple validations
var sys = require ('sys');
module.exports = function(app) {
function NotFound(msg) {
this.name = 'NotFound';
Error.call(this, msg);
Error.captureStackTrace(this, arguments.callee);
}
sys.inherits(NotFound, Error);
app.get("*", function(req, res, next){
res.render('500.jade', { status: 500, error: err });
});
app.error(function(err, req, res, next){
if (err instanceof NotFound) {
res.render('404.jade', { status: 404, error: err });
} else {
next(err);
}
});
app.error(function(err, req, res) {
res.render('500.jade', { status: 500, error: err });
});
}
GET /posts/new 9 ms
POST /posts/ 5 ms
ValidatorError: Validator "content can't be empty" failed for path content
at validate (/usr/local/lib/node/.npm/mongoose/1.1.3/package/lib/mongoose/schematype.js:221:10)
at /usr/local/lib/node/.npm/mongoose/1.1.3/package/lib/mongoose/schematype.js:237:9
at Array.forEach (native)
at SchemaString.doValidate (/usr/local/lib/node/.npm/mongoose/1.1.3/package/lib/mongoose/schematype.js:226:19)
at Array.1 (/usr/local/lib/node/.npm/mongoose/1.1.3/package/lib/mongoose/document.js:380:30)
at EventEmitter._tickCallback (node.js:108:26)
node.js:116
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Can't set headers after they are sent.
at ServerResponse.<anonymous> (http.js:504:11)
at ServerResponse.setHeader (/usr/local/lib/node/.npm/connect/1.0.3/package/lib/patch.js:39:15)
at next (/usr/local/lib/node/.npm/connect/1.0.3/package/lib/http.js:168:13)
at /usr/local/lib/node/.npm/connect/1.0.3/package/lib/middleware/router.js:151:19
at model.<anonymous> (/home/korsaks/projects/own/routes/posts.js:47:29)
at error (/usr/local/lib/node/.npm/mongoose/1.1.3/package/lib/mongoose/document.js:576:21)
at parallel (/usr/local/lib/node/.npm/mongoose/1.1.3/package/lib/mongoose/document.js:596:20)
at /usr/local/lib/node/.npm/mongoose/1.1.3/package/lib/mongoose/document.js:383:18
at validate (/usr/local/lib/node/.npm/mongoose/1.1.3/package/lib/mongoose/schematype.js:221:7)
at /usr/local/lib/node/.npm/mongoose/1.1.3/package/lib/mongoose/schematype.js:237:9
app.post('/posts/', function(req, res, next){
var post = new Post(req.body.post);
post.save(function(err) {
if (err) return next(err);
req.flash("info", "Successfully create post _%s_", post.title);
res.redirect('/posts/' + post.id);
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment