mam_mol
mam_mol copied to clipboard
$mol_format
Текстовое поле с форматированным вводом/выводом.
Традиционно используется например в следующих случаях:
- Номер телефона
- Номер пластиковой карты
- Серийный номер
- Дата/Время
Нужно иметь ввиду, что допустимых форматов может быть несколько и в общем случае формат генерируется на основе введённого значения. Например, номер телефона по разному форматируется в зависимости от числа цифр, а номер карточки в зависимости от типа платёжной системы.
Вроде такого? https://github.com/text-mask/text-mask/tree/master/react#readme
Важно учитывать, что введённое пользователем значение может быть временно не корректным в процессе редактирования и это не должно мешать ему исправить. По этой причине такое поле ещё не реализовано. Проще дать пользователю обычное текстовое поле и писать рядом результат валидации. Тем не менее такое поле может быть полезно с эстетической стороны и для удобства чтения. То есть ввод ограничивается исключительно допустимыми символами независимо от их местоположения. А введённое значение переформатируется так, что между введёнными символами вставляются дополнительные "не допустимые" символы. Думаю в общем случае поле должно работать в режиме "замены", а не "вставки".
Какое примерно api должно быть?
Что-то типа:
$mol_format
mask \AAA:000.000.000.000
value? <=> server_id? \MSK:123.456.789.123
Есть идея как реализовать режим замены - достаточно управлять селекшеном так, чтобы он включал минимум один символ.
Не, плохая идея. На iOS показываются контролы управления выделением.
Попробовать можно тут.