Правильные username при регистрации пользователя

1 500
Всем привет. Часто встречается ситуация, когда на сайте при регистрации через Office пользователи указывают username вида "--- --", «валя краля», "___ __", «yesy@yesy.ru» и т.д. Хотелось бы, чтобы при регистрации использовали только английские буквы, тире, нижнее подчеркивание и цифры.

Приступим:

1. Создаем плагин с следующим содержанием:

<?php
if ($modx->event->name == 'OnBeforeUserFormSave') {
    if (!preg_match("/^[a-zA-Z0-9-_]+$/", $user->username)) $modx->event->output('Имя пользователя должно содержать английские буквы, символы "-", "_" и цифры');
}

2. «Вешаем» его на событие «OnBeforeUserFormSave»

3. Вуаля!

За помощь спасибо modx.pro/users/panama/
Wassi Wassinen
22 февраля 2016, 19:20
modx.pro
9
2 873
+1

Комментарии: 6

Виталий Серый
22 февраля 2016, 22:49
+1
<?php
switch ($modx->event->name) {
   case 'OnBeforeUserFormSave':
      if(!preg_match('/^[A-Za-z0-9_-]+$/', $user->username))
      {
         $modx->event->output('Пожалуйста, используйте для имени пользователя только латинские буквы, цифры, знаки тире и подчеркивание.');
      }
   break;
    Wassi Wassinen
    26 февраля 2016, 05:02
    0
    Ваш вариант не работает.
    Сергей Шлоков
    23 февраля 2016, 08:12
    0
    Самый быстрый вариант на javascript.
      Кирилл
      26 февраля 2016, 13:20
      0
      <?php
      if ($modx->event->name == 'OnBeforeUserFormSave') {
          if (!preg_match("/^[a-zA-Z0-9-_]+$/", $user->username)) $modx->event->output('Имя пользователя должно содержать английские буквы, символы "-", "_" и цифры');
      }
        Wassi Wassinen
        26 февраля 2016, 21:30
        0
        Благодарю! Куда отправлять деньги?
          Wassi Wassinen
          28 февраля 2016, 05:19
          0
          Отправил. Спасибо!
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          6