Вы можете реализовать следующее:
В вашем файле component.ts
setInputFilter(inputHTML, inputValue) {
[
"input",
"keyup",
"keydown",
"mouseup",
"mousedown",
"select",
"contextmenu",
"drop"
].forEach(function(event) {
inputHTML.addEventListener(event, function() {
if (inputValue(this.value)) {
this.previousValue = this.value;
this.previousSelectionStart = this.selectionStart;
this.previousSelectionEnd = this.selectionEnd;
} else if (this.hasOwnProperty("previousValue")) {
this.value = this.previousValue;
}
});
});
}
Вызвать функцию setInputFilter
внутри AfterViewInit
ловушка жизненного цикла.
ngAfterViewInit() {
this.setInputFilter(document.getElementById("inputText"), function (value) {
return /^[a-zA-Z]*$/.test(value);
})
}
В вашем компоненте. html файл,
<input id="inputText" pInputText [(ngModel)]="val"/>
Я использую InputTextModule
PrimeNG вместо InputMaskModule