Спасибо за Ваше обращение. Мы зарегистрировали его в Службе технической поддержки и назначили специалиста, который сможет Вас компетентно проконсультировать по данному вопросу.
Дмитрий, это совсем не то, что требовалось. В документе описана блокировка интерфейса, а реализовать необходимо маску для ввода, вроде подобной, но в данном примере используется подключаемый скрипт на jquery.
Олег, понял спасибо. Есть примерчик для фиксированной маски (т.е. нет возможности изменять на лету, к примеру с маски для рос. телефона на маску для укр. телефона). Если интересует - ближе к вечеру могу скинуть.
Во вложении контрол позволяющий вводить текст по массиву масок.
Чтобы его использовать необходимо добавить этот модуль в dependency страницы и в секцию define, а в diff поля указать, что необходимо использовать класс MultiMaskEdit и его маску:
Метод onBeforePasteFormatValue указываете, если хотите обработать значения перед вставкой из буфера обмена в контрол. Этот метод необязательный – контрол вставит только допустимые значения, но, например, если предварительно обработать вставляемую строку и оставить только цифры - то для маски выше телефон вставиться полностью, независимо от того какие символы использовались дополнительно.
По умолчанию в качестве символов подстановки в шаблонах маски используются:
Вы можете задать собственный символ для шаблон ввода с помощью maskConfig, например, если вам нужна 9-ка как обычный символ, то можно указать что для подстановки цифр использовать «0». В re мы указываем регулярное выражение для проверки. Также необходимо указать символ заменяющие пустые значение в параметре placeHolderChar.
Например, так можно задать маску позволяющая вводить книжные коды (ISBN), где 978 это просто цифры, а «0» - подстановочный символ:
Известная проблема – валидация контрола не передается в модель карточки, т.е. хотя контрол показывает что значение не верно, карточка все равно сохраняется. Пока что надо делать дополнительные проверки в карточке руками.
Дмитрий подскажите, не смог разобраться, как подключить Terrasoft.controls.MultiMaskEdit во вложении, чтобы его можно было добавить в dependencies и define?
Пробовал создать модуль, в него перенести код из вложения, подключил его в dependencies, объявил в define, но получаю следующую ошибку
GET http://*********/0/Nui/Terrasoft/controls/MultiMaskEdit.js?_dc=1416552545493 404 (Not Found)
Олег, к сожалению, не я автор данного контрола и сам не пробовал его реализовать (однако видел уже готовый пример по инструкции выше). Может быть проблема в пакете, в который вы добавили данный модуль? Прописаны ли в нём все зависимости?
Проверьте, пожалуйста, если не поможет - вынужден попросить Вас подождать с ответом, задам ваш вопрос автору, как только он вернется из заслуженного отпуска :)
Разобрался, объявил вложенный контрол как MultiMaskEdit вместо Terrasoft.controls.MultiMaskEdit и использовал уже короткое название, отлично работает. Спасибо
Самый простой вариант - использовать несколько контроллов с разными масками, и показывать в определенный момент нужный, а остальные скрывать. Иначе - нужно экспериментировать, переписывать исходный код - на это времени, к сожалению, в данный момент нет.
Добрый день!
Подскажите, пожалуйста как изменить контрол, так чтобы можно было вводить только латинские символы, но без их фиксированного количества, т.е. как в TextEdit.
Заранее спасибо.
Основное что тут не очень хорошо смотрится, это когда для редактирования еще пустого поля с маской кликаем в середину поля и попадаем для редактирования некрасиво в середину пустого шаблона...