Created
March 6, 2011 21:42
-
-
Save oivoodoo/857714 to your computer and use it in GitHub Desktop.
Mongoose multiple validations
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 }); | |
}); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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