| 123456789101112131415161718192021222324252627282930 |
- sanitize = require('validator').sanitize
- module.exports =
- validateEmail : (email) ->
- re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\ ".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA -Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
- return re.test(email)
- hasZeroLengths : (props) ->
- hasZeroLength = false
- props.forEach (prop) ->
- if prop.length == 0
- hasZeroLength = true
- return hasZeroLength
- validateRegisterRequest : (req, callback)->
- email = sanitize(req.body.email).xss().trim().toLowerCase()
- password = req.body.password
- username = email.match(/^[^@]*/)
- if username?
- first_name = username[0]
- else
- first_name = ""
- last_name = ""
- if @hasZeroLengths([password, email])
- callback('please fill in all the fields', null)
- else if !@validateEmail(email)
- callback('not valid email', null)
- else
- callback(null, {first_name:first_name, last_name:last_name, email:email, password:password})
|