Поведение плейсхолдера в Inputmask определяется набором параметров, влияющих на отображение шаблона ввода до начала и во время заполнения поля. Плейсхолдер выполняет не только визуальную роль, но и задаёт структуру ожидаемого значения, формируя у пользователя представление о формате данных.
Основной механизм управления плейсхолдером задаётся через параметр
placeholder. Он может принимать строковое значение, которое
полностью заменяет стандартный символ маски.
Inputmask({
mask: "+7 (999) 999-99-99",
placeholder: "_"
}).mask(input);
В данном случае символ _ используется как заполнитель
для всех незаполненных позиций маски.
Плейсхолдер может быть полностью отключён, если передать пустую строку. Это изменяет визуальное поведение поля: маска остаётся логической, но не отображается пользователю до ввода.
Inputmask({
mask: "9999 9999 9999 9999",
placeholder: ""
}).mask(input);
Отсутствие визуальных подсказок часто используется в компактных формах или интерфейсах, где структура ввода очевидна из контекста.
Символ плейсхолдера может быть любым, включая нестандартные визуальные маркеры. Это позволяет адаптировать маску под дизайн интерфейса.
Inputmask({
mask: "99/99/9999",
placeholder: "•"
}).mask(input);
Такой подход используется для повышения визуальной чистоты интерфейса, особенно в минималистичных формах.
Плейсхолдер не изменяет саму логику маски, но влияет на восприятие структуры. Маска остаётся фиксированной последовательностью токенов, а placeholder лишь заполняет незаполненные позиции.
Например:
mask: "AAA-999"
placeholder: "_"
Результат до ввода:
___-___
Каждый символ placeholder соответствует одному символу в маске, независимо от типа токена.
Inputmask поддерживает поведение, при котором плейсхолдер отображается только при определённых условиях фокуса и наведения. Это управляется дополнительными параметрами:
showMaskOnFocusshowMaskOnHoverInputmask({
mask: "+7 (999) 999-99-99",
placeholder: "_",
showMaskOnFocus: true,
showMaskOnHover: false
}).mask(input);
В таком режиме плейсхолдер становится видимым только при активном взаимодействии с полем, что снижает визуальную нагрузку интерфейса.
Внутренняя логика Inputmask использует отдельный символ для
обозначения “пустого” состояния маски. По умолчанию это _,
но он не идентичен пользовательскому placeholder, задаваемому через
конфигурацию.
Ключевые различия:
В сложных масках с кастомными определениями символов плейсхолдер сохраняет свою роль универсального заполнителя.
Inputmask({
mask: "AA-9999-XX",
definitions: {
"A": { validator: "[A-Z]" },
"X": { validator: "[0-9A-Z]" }
},
placeholder: "-"
}).mask(input);
В данном случае символ - используется для всех
незаполненных позиций, независимо от типа определения токена.
При активной работе с вводом плейсхолдер динамически исчезает и появляется в зависимости от состояния поля. Поведение зависит от режима вставки и очистки:
Это поведение обеспечивает стабильную визуальную структуру без необходимости дополнительной логики.
В сценариях, где важна валидация на лету, плейсхолдер может использоваться как индикатор незаполненности.
При маске:
9999-9999-9999-9999
и placeholder _:
1234-5678-____-____
Незаполненные сегменты остаются визуально выделенными, что облегчает контроль заполнения формы.
Параметры отображения могут комбинироваться, формируя различные UX-паттерны:
Inputmask({
mask: "99.99.9999",
placeholder: "_",
showMaskOnHover: true,
showMaskOnFocus: true,
clearIncomplete: true
}).mask(input);
Такое сочетание обеспечивает:
При установке значения программно плейсхолдер не отображается, если значение соответствует полной маске. При частичном значении оставшиеся позиции автоматически заполняются символом placeholder.
const im = Inputmask("9999-9999");
im.mask(input);
input.value = "1234";
Результат:
1234-____
В датах, телефонных номерах и идентификаторах плейсхолдер играет роль визуального разделителя незаполненных сегментов.
Пример даты:
Inputmask({
mask: "99/99/9999",
placeholder: "_"
});
Отображение:
__/__/____
Такая структура позволяет визуально выделить отдельные части поля без дополнительных элементов интерфейса.
Единый плейсхолдер по всей маске обеспечивает предсказуемость восприятия, однако в некоторых интерфейсах используется стратегическое различие символов (например, разные placeholder для разных полей формы). Inputmask при этом не ограничивает вариативность и позволяет задавать индивидуальные значения для каждого инстанса маски.