Перейти к содержанию

Страница самостоятельной регистрации

Настройка страницы регистрации позволяет задать поля, которые пользователь заполняет при самостоятельной регистрации в системе. Параметры задаются в разделе Администрирование → Базовые настройки → Регистрация в виде JSON-конфигурации.

Общая форма доступных для регистрации полей нового пользователя имеет следующий вид:

[
{"key":"Nick", "title": "Логин" ,"isRequired":true, "type":"string"},
{"key":"LastName", "title": "Фамилия", "isRequired":true, "type":"string"},
{"key":"FirstName", "title": "Имя", "isRequired":true, "type":"string"},
{"key":"DisplayName", "title": "Отображаемое имя", "isRequired":true, "type":"string"},
{"key":"Password", "title": "Пароль", "isRequired":true, "type":"password"},
{"key":"Gender", "title": "Пол", "isRequired":true, "type":"select", "values": [{"value": 1, "title": "Мужской"}, {"value": 0, "title": "Женский"}]
{"key":"CellPhone", "title": "Мобильный телефон", "isRequired":true, "type":"phone", "isHidden": true},
{"key":"Email", "title": "Адрес email", "isRequired":true, "type":"email", "isHidden": true}
]

Возможные значения параметра "type":

  • "password"

  • "phone"

  • "email"

При регистрации по номеру телефона на общей форме поле "Телефон", если оно не исключено в настройках (isHidden = true), будет уже заполнено. Аналогично будет заполнено поле "Email" при входе по почтовому адресу.

В API-метод /api/user отправляются все данные, за исключением "fromurl" — вместо него будет отправлен параметр Источник ("source").

Возможные значения параметра "source":

  • "spa_base" — для регистрации в web-версии приложения (можно переопределить через queryString)

  • "mobile" — для регистрации в МП

ℹ️ Параметр "source" (Источник) используется в параметрах глобального смарт-события "После создания пользователя".

Набор обязательных полей на форме странице самостоятельной регистрации определяет кастомная настройка приложения RegistrationFields.

Структура ключа:

[{"Key": "{RegistrationCode}", "IsRequired": true/false, "IsHidden": true/false}]
где: Key — поле на странице регистрации, IsRequired — обязательное поле, IsHidden — скрытое поле. Возможные значения для RegistrationCode: -Email — Адрес почты -CellPhone — Мобильный телефон -Nick — Псевдоним -FirstName — Имя -LastName — Фамилия -Gender — Пол -City — Город -Password — Пароль -Note — Текстовое примечание. Поддерживаются HTML-теги. Помимо IsRequired и IsHidden для примечания задаются параметры title — Отображаемый и Color — Цвет текста. Для пароля задается секция настроек PasswordSettings с возможными параметрами: -MinNumberOfChar — Минимальное количество символов -MaxNumberOfChar — Максимальное количество символов -UpperLowercaseRequired — Обязательно наличие заглавных и строчных букв -AcceptableLanguage — Допустимый язык. Пример значения: ru-RU -MinNumberOfDigits — Минимум цифр -NoSpaces — Без пробелов -MinNumberOfSpecialChar — Минимум сцеп. символов -DisallowLoginOrBirthdayPattern — Запретить повторение логина или последовательности цифр по дате рождения. По умолчанию false. При активации пароль не должен содержать логин пользователя или любую последовательность из трех и более цифр, входящую в его дату рождения. -DisallowedSequenceLength — Запретить последовательности из N и более букв и цифр подряд. Проверяются цифры: любые три и более цифры по порядку (например, 123, 456, 7890), буквы по алфавиту: три и более буквы подряд в алфавитном порядке (например, abc, def, mno), буквы по рядам клавиатуры: три и более символа, расположенных рядом в одном ряду стандартных раскладок (русской: йцукен..., фывапрол..., ячсмить...; английской: qwerty..., asdfgh..., zxcvbn...). -DisallowedRepeatingPatternLength — Запретить повторяющиеся комбинации из N и более букв и цифр. Ищутся повторения паттернов, например: qwqw, qweqwe, 123123. Проверка срабатывает только при непосредственном повторе паттерна (например, qweqwe), а не при его разрозненном употреблении (например, qwe...qwe). -NumberOfPreviousPasswordsToCheck — Пароль не должен совпадать с не менее, чем N ранее используемыми паролями. Рекомендуемое значение — не менее 10. -MinCharPasswordDifference — Пароль должен отличаться от ранее используемого пароля не менее, чем на N символов. Рекомендуемое значение — не менее 5.

ℹ️ Требования к паролям в кастомной настройке RegistrationFields учитываются только для формы самостоятельной регистрации. Требования к паролям для создания пользователей из режима администрирования и при сбросе пароля уже созданных пользователей регулируются параметрами в блоке Настройки требований к паролям в общих настройках приложения

Пример значения:

[
{"Key": "Email", "isRequired": true, "IsHidden": bit},
{"Key": "CellPhone", "isRequired": true, "IsHidden": bit},
{"Key": "DisplayName", "isRequired": true, "IsHidden": bit},
{"Key": "Nick", "isRequired": true, "IsHidden": bit},
{"Key": "FirstName", "isRequired": true, "IsHidden": bit},
{"Key": "LastName", "isRequired": true, "IsHidden": bit},
{"Key": "Gender", "isRequired": true, "IsHidden": bit},
{"Key": "City", "isRequired": true, "IsHidden": bit},
{"Key": "Password", "isRequired": true, "IsHidden": bit,
      "PasswordSettings": {
          "MinNumberOfChar": int,
          "MaxNumberOfChar": int,
          "UpperLowercaseRequired": bit,
          "AcceptableLanguage": "string",
          "MinNumberOfDigits": int,
          "NoSpaces": bit,
          "MinNumberOfSpecialChar": int
      }}
{"Key": "Note", "isRequired": true, "IsHidden": bit, "title": "string", "Color": "string"}
]
Пример значения с настройкой пароля:

[
  {
      "Key": "FirstName",
      "isRequired": false,
      "IsHidden": false
  },
  {
      "Key": "LastName",
      "isRequired": false,
      "IsHidden": false
  },
  {
      "Key": "Password",
      "isRequired": false,
      "IsHidden": false,
      "PasswordSettings": {
          "MinNumberOfChar": 1,
          "MaxNumberOfChar": 2,
          "UpperLowercaseRequired": true,
          "AcceptableLanguage": "ru-RU",
          "MinNumberOfDigits": 3,
          "NoSpaces": true,
          "MinNumberOfSpecialChar": 4,
          "DisallowLoginOrBirthdayPattern": true,
          "DisallowedSequenceLength": 3,
          "DisallowedRepeatingPatternLength": 4,
          "NumberOfPreviousPasswordsToCheck": 5,
          "MinCharPasswordDifference": 6
      }
  }
]
Пример значения с настройкой примечания:

[
  {
      "Key": "FirstName",
      "isRequired": false,
      "IsHidden": false
  },
  {
      "Key": "LastName",
      "isRequired": false,
      "IsHidden": false
  },
  {
      "Key": "Note",
      "isRequired": false,
      "IsHidden": false,
      "title": "Примечание",
      "Color": "red"
  }
]
Пример текстового примечания на форме регистрации

ℹ️ Изменения RegistrationFields вносят только переопределение понятий isRequired и isHidden в исходной полной форме регистрации для указанных полей

Правила регистрации:

1. При регистрации одно из полей "CellPhone", "Email" или "Nick" должно быть обязательно заполнено.

2. При самостоятельной регистрации среди полей не будет поля, которое было указано при получении кода верификации: "Телефон" или "Email", даже если оно не скрыто в ключе ("IsHidden": false).

3. Если заполнено поле "Псевдоним" ("Nick"), поле "Пароль" не может быть пустым.

4. Если поле "Nick" пустое, оно будет автоматически заполнено значением из полей "Phone" или "Email".

5. Если поле "DisplayName" пустое, оно будет автоматически заполнено значением "FirstName LastName" или значением поля "Nick".

6. Если задан "CellPhone", но не заполнено поле "Email", при этом Email обязателен в системе, в качестве адреса почты задается phone\@domain.

7. Поле "Gender" по умолчанию принимает значение "1" (Мужской).

Значения на форме возможно предопределить как для скрытых, так и для отображаемых полей. Ссылка в таком случае должна иметь вид:

\~/spa/entry/signup?RegistrationCode=значение

где \~ — адрес приложения "Первая Форма", а RegistrationCode — поле на форме (к примеру, City), после знака = необходимо указать предопределенное значение поля.

Пример: