diff --git a/common/models/user.js b/common/models/user.js index 3c7e54cbb3..9b7de00def 100644 --- a/common/models/user.js +++ b/common/models/user.js @@ -44,6 +44,14 @@ module.exports = function(User) { // username should be unique User.validatesUniquenessOf('username'); + User.observe('before save', function({ instance: user }, next) { + if (user) { + user.username = user.username.trim().toLowerCase(); + user.email = user.email.trim().toLowerCase(); + } + next(); + }); + debug('setting up user hooks'); User.afterRemote('confirm', function(ctx) { ctx.req.flash('success', { diff --git a/common/models/user.json b/common/models/user.json index b961807093..97027fd50e 100644 --- a/common/models/user.json +++ b/common/models/user.json @@ -12,9 +12,7 @@ "unique": true, "sparse": true } - }, - "lowercase": true, - "trim": true + } }, "password": { "type": "string" @@ -45,9 +43,12 @@ }, "username": { "type": "string", - "lowercase": true, - "trim": true, - "require": true + "require": true, + "index": { + "mongodb": { + "unique": true + } + } }, "bio": { "type": "string",