[BUG] @prizm-ui/components - Комбинация ngx-mask "separator" + директива prizmInput пропускает лишние нечисловые символы
d-flasher opened this issue · comments
d-flasher commented
Библиотека
Выберите нужное отметив галочку [x]
-
@prizm-ui/components
Компонент
PrizmInputLayoutComponent
PrizmInputTextComponent
Версия
Операционная ситема:
Windows 11
Браузер:
Google Chrome Версия 127.0.6533.120 (Официальная сборка), (64 бит)
NodeJS:
➜ node --version
v18.19.0
Dependencies:
➜ npm ls @prizm-ui/components
@prizm-ui/components: "4.3.1"
ngx-mask: "17.0.5"
➜ npm ls @angular/core
+-- @prizm-ui/components@4.3.1
| `-- @angular/core@17.3.9 deduped
+-- @angular/animations@17.3.9
| `-- @angular/core@17.3.9 deduped
Проект в котором используется Prizm
- ZMEB
Воспроизведение проблемы
Описание проблемы
Есть проблема следующего характера:
Есть форма с <input prizmInput>
для которого указана маска ng-mask "separator.2" (такая маска должна разрешать ввод только цифр)
Форма отправляет событие об изменении значения если вводится нечисловой символ (например буква).
p.s. При этом если использовать input БЕЗ prizmInput - все работает правильно.
Шаги воспроизведения:
- Создать простую форму:
testForm = new FormGroup({
field1: new FormControl(),
});
// при вводе букв - сюда прилетит первая буква
testForm.controls.field1.valueChanges.subscribe((value) => console.log(value));
<prizm-input-layout label="Маска">
<input prizmInput mask="separator.2" [formControl]="testForm.controls.field1" />
</prizm-input-layout>
- Подписаться на отслеживание изменений значений формы.
- Когда поле пустое - попробовать ввести буквенные символы
- В консоли браузера отобразится вводимая буква. При этом отобразится только первая введенная буква, сам инпут будет отображаться пустым. В инпуте появится кнопка "Очистить".
Повторю - бага воспроизводится только с prizmInput.