diff --git a/src/user/create.js b/src/user/create.js index c94003af0c..c4ba0ae51b 100644 --- a/src/user/create.js +++ b/src/user/create.js @@ -19,14 +19,14 @@ module.exports = function (User) { data.email = String(data.email).trim(); } - try { - await lock(data.username, '[[error:username-taken]]'); - if (data.email) { - await lock(data.email, '[[error:email-taken]]'); - } + await User.isDataValid(data); - await User.isDataValid(data); + await lock(data.username, '[[error:username-taken]]'); + if (data.email && data.email !== data.username) { + await lock(data.email, '[[error:email-taken]]'); + } + try { return await create(data); } finally { await db.deleteObjectFields('locks', [data.username, data.email]);