[Решено] USERNAME: Помогите. SOS.

Главные вкладки

Аватар пользователя Kevin99 Kevin99 19 мая 2012 в 12:13

Необходимо при регистрации в имени пользователя (логине):

- исключить пробелы
- исключить ввод букв из разных алфавитов (нужно только из русского или только из английского)

Может, кто подскажет как это сделать или какой модуль использовать.

Комментарии

Аватар пользователя K0r5hun K0r5hun 21 мая 2012 в 15:27

custom_username_validation - судя по исходникам не проверяет изменение никнейма из личного кабинета.

Создал свой модуль wolq с кодом:

/**
* Implementation of hook_form_alter().
*/

function wolq_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'user_register_form' || $form_id == 'user_profile_form') {
    array_unshift($form['#validate'], 'wolq_username_validate');
  }
}
 
/**
 * Validate profile form
 * Force form error if username has invalid symbols
 *
 */

function wolq_username_validate (&$form, &$form_state) {
  if (isset($form_state['values']['name'])) {
    if (!preg_match("/^[a-zA-Z0-9_\-]+$/", $form_state['values']['name'])) {
      form_set_error('name', t('Allowed username symbols: english letters, digits, "_", "-"'));
    }
  }
}