Skip to content

Instantly share code, notes, and snippets.

@JustinBeaudry
Forked from stongo/app.js
Last active August 29, 2015 14:05
Show Gist options
  • Save JustinBeaudry/4fccd12009fc5919c2c4 to your computer and use it in GitHub Desktop.
Save JustinBeaudry/4fccd12009fc5919c2c4 to your computer and use it in GitHub Desktop.
Joi Schemas in Mongoose
var userSchema = mongoose.Schema({
username: String,
password: String,
email: String,
first_name: String,
last_name: String,
created: { type: String, default: Date.now },
});
userSchema.methods.joiValidate = function(obj) {
var Joi = require('joi');
var schema = {
username: Joi.types.String().min(6).max(30).required(),
password: Joi.types.String().min(8).max(30).regex(/[a-zA-Z0-9]{3,30}/).required(),
email: Joi.types.String().email().required(),
first_name: Joi.types.String().required(),
last_name: Joi.types.String().required(),
created: Joi.types.Date(),
}
return Joi.validate(obj, schema);
}
module.exports = mongoose.model('User', userSchema);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment