diff options
Diffstat (limited to 'modules/user/user.module')
-rw-r--r-- | modules/user/user.module | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/modules/user/user.module b/modules/user/user.module index 358b4cec5..92a55bcf4 100644 --- a/modules/user/user.module +++ b/modules/user/user.module @@ -417,6 +417,9 @@ function user_save($account, $edit = array(), $category = 'account') { // Avoid overwriting an existing password with a blank password. unset($edit['pass']); } + if (isset($edit['mail'])) { + $edit['mail'] = trim($edit['mail']); + } // Load the stored entity, if any. if (!empty($account->uid) && !isset($account->original)) { @@ -562,9 +565,6 @@ function user_save($account, $edit = array(), $category = 'account') { if (!isset($edit['created'])) { $edit['created'] = REQUEST_TIME; } - if (isset($edit['mail'])) { - $edit['mail'] = trim($edit['mail']); - } $success = drupal_write_record('users', $edit); if ($success === FALSE) { // On a failed INSERT some other existing user's uid may be returned. @@ -655,7 +655,6 @@ function user_validate_name($name) { * If the address is valid, nothing is returned. */ function user_validate_mail($mail) { - $mail = trim($mail); if (!$mail) { return t('You must enter an e-mail address.'); } @@ -1203,6 +1202,11 @@ function user_account_form_validate($form, &$form_state) { } } + // Trim whitespace from mail, to prevent confusing 'e-mail not valid' + // warnings often caused by cutting and pasting. + $mail = trim($form_state['values']['mail']); + form_set_value($form['account']['mail'], $mail, $form_state); + // Validate the e-mail address, and check if it is taken by an existing user. if ($error = user_validate_mail($form_state['values']['mail'])) { form_set_error('mail', $error); |