Маски ввода¶
Описание¶
Маски ввода - предоставляют возможность сообщить системе, какой шаблон или образец должны использовать данные. Применяются для облегчения обработки значений, имеющих фиксированный шаблон, – например, телефонных номеров. Маски ввода нужны для помощи пользователям с вводом предопределенного формата в атрибуте.
Поле "mask"
для представлений¶
Пример¶
{
"tabs": [
{
"caption": "Информационная система",
"fullFields": [
{
"caption": "Уникальный идентификационный номер ОУ",
"type": 1,
"property": "OuId",
"size": 2,
"maskName": null,
"mask": null,
В данный момент возможно задание маски в виде строки или объекта в поле "mask"
.
Маски по умолчанию¶
Маски по умолчанию можно переопределить в расширениях:
- 9 — число
- a — буква
- A — буква в верхнем регистре
- — число или буква
Виды масок¶
Статичные маски¶
Статичные маски определены заранее и не изменяется при вводе.
"mask": "aa-9999",
"mask": {"mask": "aa-9999"},
Необязательные маски¶
Необязательные маски допускают некоторую часть в определении маски сделать необязательной для ввода.
В квадратных скобках []
задается необязательная часть ввода.
"mask": {"mask": "(99) 9999[9]-9999"},
Динамичные маски¶
Динамичные маски могут изменятся при вводе.
В фигурных скобках {}
задается динамичная часть ввода, применяется к выражению перед скобками:
- {n} - n повторений
- {n,m} - с n по m повторений
- {+} - от 1 и больше повторений
- {*} - от 0 и больше повторений
"mask": {"mask": "aa-9{1,4}"},
Генерируемые маски¶
Синтаксис генерируемых масок похож на выражение OR. Маска может быть одной из трех вариантов, указанных в генераторе. Для определения генератора используется |
.
"mask": {"mask": "(aaa)|(999)"},
"mask": {"mask": "(aaa|999|9AA)"},
keepStatic¶
По умолчанию: null (~false). Используется в комбинации с синтаксисом генератора и оставляет маску статичной по мере ввода. Когда задается массив масок, keepStatic автоматически становится равен true, если явно не задан через параметры.
"mask": { "mask": ["+55-99-9999-9999", "+55-99-99999-9999" ], "keepStatic": true },
Результат: Вводим 1212345123 => должны получить +55-12-1234-5123 вводим еще 4 => переключаемся на +55-12-12345-1234
Дополнительные примеры масок:¶
«99 99 999999» — серия и номер паспорта
«[+]9 (999) 999-99-99» — номер мобильного телефона
«(999)|(aaa)» - позволяет ввести либо три цифры, либо три символа
Сложные маски¶
Задание сложной маски с определением валидации символов. Допустимые значения полей внутри определения определяются плагином inputmask версии 4.0.0.
Задается массивом в field.mask
:
field.mask: ["X{1,4}-AA №999999", {definitions: {"X": {validator: "[lLvVcCxX]", cardinality: 1, casing: "upper"}}}]
Где индекс 0 - определение маски, а индекс 1 - дополнительные опции.
Реализованы также маски через «regex».
"mask": {
"regex": "[A-Za-z]{1,50}"
},
Маски по идентификатору¶
Для задания маски из вшитого пресета масок используется поле "maskName"
атрибутивной части меты представлений. Не реализовано.