Маска в полях ввода строковых атрибутов

Описание настройки

Маска в поле ввода значения атрибута позволяет контролировать ввод данных. Маска используется в случае, когда вводимые данные должны содержать определенные символы в определенном порядке.

Маска ввода состоит из констант и символов, вместо которых требуется ввести значения определенного формата.

Константа маски ввода — буква, цифра или специальный символ, в том числе пробел, который отображается в поле ввода с маской. Константа маски не может быть изменена или удалена пользователем. Константа сохраняется вместе с введенными пользователем символами.
Например, в маске для ввода мобильного телефона +7 (999) 999-99-99 константами являются +7 , а также (), - и пробелы между ними.

Символ маски ввода — символ, вместо которого пользователь должен ввести значение (например, 9 — одна цифра).

Маска настраивается для редактируемых атрибутов типа "Строка" в системных и пользовательских классах объектов. В служебных классах маска ввода не настраивается.

Особенности работы с представлением "Поле ввода с маской" в интерфейсе оператора см. Поле ввода с маской.

Место настройки в интерфейсе

Карточка настройка класса (типа) объектов, вкладка "Атрибуты", форма добавления атрибута или форма редактирования атрибута.

Выполнение настройки

Для настройки маски ввода выполните следующие действия:

  1. На вкладке "Атрибуты" откройте форму добавления атрибута типа "Строка" или форму редактирования атрибута.

  2. В параметре атрибута "Представление для редактирования" выберите значение "Поле ввода с маской". Данное значение доступно только для редактируемых атрибутов (параметр атрибута "Редактируемый" = "Да").

    При выборе данного значения на форме отображаются поля настройки маски ввода: "Режим маски ввода" и "Маска ввода".

  3. В поле "Режим маски ввода" выберите один из режимов маски ввода. Возможные значения: "Псевдоним", "Маска с сокращениями", "Регулярное выражение".
  4. В поле "Маска ввода" введите конструкцию маски ввода. Перед заполнением поля ознакомьтесь с содержанием справки (ссылка [Справка]), см. Режимы и конструкции маски ввода.

    Указанная маска ввода будет применена при вводе значения по умолчанию на уже открытой форме добавления атрибута.

  5. Нажмите кнопку Сохранить.

Результат настройки

Маска ввода будет применяться при вводе значения атрибута в интерфейсе оператора на формах добавления и редактирования и при редактировании атрибутов в списке объектов.

Если в поле ввода с маской будет вставлено скопированное значение, то символы значения, не соответствующие формату маски, отображаться не будут.

В интерфейсе администратора маска ввода будет использоваться при вводе значения по умолчанию для атрибута.

В начало

Режимы и конструкции маски ввода

Для маски используется плагин  jquery.inputmask.

В разделе описаны примеры заполнения маски ввода для разных режимов.

Псевдоним

В поле "Маска ввода" указывается название псевдонима.

Псевдоним Описание маски поиска Пример
ip ip-адрес вида 192.168.0.1 ___.___.___.___
email адрес электронной почты

*{1,64}[.*{1,64}][.*{1,64}][.*{1,63}]@-{1,63}[.-{1,63}][.-{1,63}][.-{1,63}],

где:

  • * — один символ из набора [0-9A-Za-z!#$%&'*+/=?^_`{|}~-] (одна буква, или цифра, или спецсимвол из набора)
  • - — один символ из набора [0-9A-Za-z-] (одна буква или цифра)
mac стандартный 12-символьный сетевой адрес. например, FD:98:DF:DF:F5:6D "##:##:##:##:##:##"

url

 

regex: "(https?|ftp)//.*"

Псевдонимы для численных значений:

Псевдоним Описание маски поиска Пример
numeric строка, содержащая только цифры  
decimal дробное число  
integer целое число  

integerWithGroups

число,

0 знаков после запятой,

разделитель разрядов: " ",

placeholder: " "

 

currency

число,

два знака после запятой,

без разделения на разряды,

placeholder: "_".

_.__
currencyWithGroups

число,

два знака после запятой,

разделитель разрядов: " ",

placeholder: "0".

_.__
percentage

число,

два знака после запятой,

min: 0,

max: 100,

suffix: " %",

десятичный разделитель: ".",

placeholder: "_"

_ %

Если в каких-то случаях маска псевдонима не покрывает потребности, то вместо псевдонима можно использовать регулярное выражение или добавить свой псевдоним в шаблон и загрузить его в систему, см. Расширения настроек маски в поле ввода.

Маска с сокращениями

В поле "Маска ввода" указывается строка, которая может содержать: константы маски и специальные символы-сокращения для обозначения допустимых значений.

Общие сокращения:

Общие сокращения Описание маски поиска Сокращения для дат и времени Описание примера
9 одна цифра h Часы
a одна буква любого регистра

s

Секунды или минуты
А [A-Za-z\u0410-\u044F\u0401\u0451\u00C0-\u00FF\u00B5] (заглавные буквы) d Дни
* [0-9A-Za-z] (одна буква или цифра любого регистра) m Месяцы
& [0-9A-Za-z\u0410-\u044F\u0401\u0451\u00C0-\u00FF\u00B5] (заглавные буквы и цифры)    
# [0-9A-Fa-f] (шестнадцатеричное число)    

Пример 1. Маска "MCК-9999" (константа — 'МСК-', символы — '9999 '(четыре цифры подряд). Пользователь сможет ввести значения МСК-1234, МСК-0000 и прочее.

Пример 2. Маска ввода даты и времени в формате 'год.месяц.день часы:минуты:секунды' — '"y.m.d h:s:s" (константы — точки, двоеточия и пробелы, символы — y, m, d, h, s, s). Пользователь может ввести "2015.01.01 23:59:59".

Пример 3. Маска ввода мобильного телефона "+7 (999) 999-99-99" (константы — +7, (), -, пробелы; символы — '999 '(три цифры подряд, '99 '(две цифры подряд).

Доступные спецсимволы Описание маски поиска Пример Описание примера Подходящие значения
( ) группировка по И (a9a) три символа: буква, цифра, буква a1b
| объединение по ИЛИ

(aa)|(99)

только две буквы или только две цифры

ab, 12.

[ ] необязательность 99[99]-999 символы в квадратных скобках необязательны для ввода 12-345, 1234-567
\ экранирование \#99-ААА999 отменяет специальное значение для символа #12-ASK654

Динамика:

{n} n повторений 9{3} три цифры 789
{n,m}

от n до m повторений

9{1,4} от одной до четырех цифр 7, 58, 345, 7898
{+} Начиная с 1, один символ и более

9{+}

а{+}

одна и более цифр

одна и более букв

1, 1322

в, abcd

{*} Начиная с пустого значения (ни одного символа) и более

9{*}

а{*}

сколько угодно цифр

сколько угодно букв

<пусто>, 293858

<пусто>, abcde

Регулярное выражение

В поле "Маска ввода" указывается регулярное выражение. В интерфейсе оператора в строковых атрибутах маска ввода не отображается. Ввод символов, запрещенных маской, не доступен. Если введенное выражение не соответствует маске, то после окончания ввода выводится сообщение "Значение должно соответствовать маске".

Расширения настроек маски в поле ввода

Расширения настроек маски (новые псевдонимы и сокращения, расширения существующих псевдонимов и сокращений) могут загружаться в систему в файле, см. Выгрузка/загрузка данных в систему.

В файле можно переопределить системные псевдонимы. Если в файле одно и то же имя псевдонима используется несколько раз для определения разных масок ввода, то при работе системы будет использовано последнее из определений (самое нижнее в тексте файла).