mam_mol icon indicating copy to clipboard operation
mam_mol copied to clipboard

$mol_format

Open nin-jin opened this issue 7 years ago • 6 comments

Текстовое поле с форматированным вводом/выводом.

Традиционно используется например в следующих случаях:

  1. Номер телефона
  2. Номер пластиковой карты
  3. Серийный номер
  4. Дата/Время

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

nin-jin avatar Feb 03 '17 09:02 nin-jin

Вроде такого? https://github.com/text-mask/text-mask/tree/master/react#readme

zerkalica avatar Aug 20 '19 12:08 zerkalica

Важно учитывать, что введённое пользователем значение может быть временно не корректным в процессе редактирования и это не должно мешать ему исправить. По этой причине такое поле ещё не реализовано. Проще дать пользователю обычное текстовое поле и писать рядом результат валидации. Тем не менее такое поле может быть полезно с эстетической стороны и для удобства чтения. То есть ввод ограничивается исключительно допустимыми символами независимо от их местоположения. А введённое значение переформатируется так, что между введёнными символами вставляются дополнительные "не допустимые" символы. Думаю в общем случае поле должно работать в режиме "замены", а не "вставки".

nin-jin avatar Feb 15 '21 03:02 nin-jin

Какое примерно api должно быть?

PavelZubkov avatar Sep 15 '22 19:09 PavelZubkov

Что-то типа:

$mol_format
    mask \AAA:000.000.000.000
    value? <=> server_id? \MSK:123.456.789.123

nin-jin avatar Sep 15 '22 20:09 nin-jin

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

nin-jin avatar Sep 15 '22 20:09 nin-jin

Не, плохая идея. На iOS показываются контролы управления выделением.

nin-jin avatar Sep 16 '22 12:09 nin-jin

Попробовать можно тут.

nin-jin avatar Nov 13 '22 05:11 nin-jin