mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-27 09:06:15 +01:00
fix: #8665, trim email before checking validity
This commit is contained in:
@@ -21,7 +21,11 @@ module.exports = function (User) {
|
|||||||
}
|
}
|
||||||
const updateUid = data.uid;
|
const updateUid = data.uid;
|
||||||
|
|
||||||
const result = await plugins.fireHook('filter:user.updateProfile', { uid: uid, data: data, fields: fields });
|
const result = await plugins.fireHook('filter:user.updateProfile', {
|
||||||
|
uid: uid,
|
||||||
|
data: data,
|
||||||
|
fields: fields,
|
||||||
|
});
|
||||||
fields = result.fields;
|
fields = result.fields;
|
||||||
data = result.data;
|
data = result.data;
|
||||||
|
|
||||||
@@ -46,8 +50,18 @@ module.exports = function (User) {
|
|||||||
|
|
||||||
await User.setUserField(updateUid, field, data[field]);
|
await User.setUserField(updateUid, field, data[field]);
|
||||||
});
|
});
|
||||||
plugins.fireHook('action:user.updateProfile', { uid: uid, data: data, fields: fields, oldData: oldData });
|
|
||||||
return await User.getUserFields(updateUid, ['email', 'username', 'userslug', 'picture', 'icon:text', 'icon:bgColor']);
|
plugins.fireHook('action:user.updateProfile', {
|
||||||
|
uid: uid,
|
||||||
|
data: data,
|
||||||
|
fields: fields,
|
||||||
|
oldData: oldData,
|
||||||
|
});
|
||||||
|
|
||||||
|
return await User.getUserFields(updateUid, [
|
||||||
|
'email', 'username', 'userslug',
|
||||||
|
'picture', 'icon:text', 'icon:bgColor',
|
||||||
|
]);
|
||||||
};
|
};
|
||||||
|
|
||||||
async function validateData(callerUid, data) {
|
async function validateData(callerUid, data) {
|
||||||
@@ -67,6 +81,7 @@ module.exports = function (User) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
data.email = data.email.trim();
|
||||||
if (!utils.isEmailValid(data.email)) {
|
if (!utils.isEmailValid(data.email)) {
|
||||||
throw new Error('[[error:invalid-email]]');
|
throw new Error('[[error:invalid-email]]');
|
||||||
}
|
}
|
||||||
|
|||||||
21
test/user.js
21
test/user.js
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user