Hallo,
ich habe eine Directive in Angular die verhindern soll, dass bestimmte Zeichen in ein Input Feld geschrieben werden. Für das Keypress Event klappt das auch aber wie mache ich das denn im Paste Event..?
Könnte natürlich mit einer Schleife die Zeichen durchgehen und ein Replace setzen aber ich bin mir sicher, dass das auch sauberer zu lösen ist.
Vielen Dank
ich habe eine Directive in Angular die verhindern soll, dass bestimmte Zeichen in ein Input Feld geschrieben werden. Für das Keypress Event klappt das auch aber wie mache ich das denn im Paste Event..?
Javascript:
constructor(private el: ElementRef) { }
@HostListener('keypress', ['$event'])
onInput(e: any) {
//return new RegExp(this.regexStr).test(e.key);
return this.checkASCII(e);
}
@HostListener('paste', ['$event']) blockPaste(event: KeyboardEvent) {
this.validateFields(event);
}
validateFields(event) {
setTimeout(() => {
this.el.nativeElement.value = ????
event.preventDefault();
}, 100);
}
checkASCII(event) {
if (event.charCode <= 128 ||
event.charCode === 176 ||
event.charCode === 196 ||
event.charCode === 214 ||
event.charCode === 220 ||
event.charCode === 228 ||
event.charCode === 246 ||
event.charCode === 252) {
return true;
} else {
return false;
}
}
Könnte natürlich mit einer Schleife die Zeichen durchgehen und ein Replace setzen aber ich bin mir sicher, dass das auch sauberer zu lösen ist.
Vielen Dank