Commit de45cff6 authored by fvieira's avatar fvieira

validation done on server side

parent b0bd6cf0
var erroneous_name = new Error('Erroneous name')
var erroneous_pet = new Error('Erroneous pet name')
var areBadPetsHere = function (pets) {
if(pets.length == 0){
return false
}
var m = pets.map(function (pet) {
return pet == ''
})
return m.reduce(function (i,j) {
return i || j
})
}
var inquisitor = function (next) {
if(this.name == ''){
next(erroneous_name)
}
if(areBadPetsHere(this.pets)){
next(erroneous_pet)
}
next()
}
module.exports = inquisitor
var db = require('../db/db.js')
var mongoose = require('mongoose')
var inquisitor = require('./inquisitor-validator.js')
var people = {}
db.once('open',function () {
people.model = mongoose.model('People',{ name: String, pets: Array })
people.schema = new mongoose.Schema(
{
name: {
type: String,
required: true
},
pets: Array
})
people.schema.pre('save',inquisitor) // let the inquisitor validate and purge
// heretic (erroneous) data
people.model = mongoose.model('People',people.schema)
people.index = function (callback) {
people.model.find({}, callback)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment