Skip to content

Instantly share code, notes, and snippets.

@sankarseran
Last active July 4, 2018 13:16
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sankarseran/6801b14f45bf39376e0dd86e3f1ad68f to your computer and use it in GitHub Desktop.
Save sankarseran/6801b14f45bf39376e0dd86e3f1ad68f to your computer and use it in GitHub Desktop.
import { Directive, HostListener, ElementRef, OnInit } from '@angular/core';
@Directive({ selector: '[InputValidator]' })
export class InputValidatorDirective implements OnInit {
el: any;
constructor(private elementRef: ElementRef) {
this.el = this.elementRef.nativeElement;
}
ngOnInit() {}
@HostListener('keydown', ['$event.target.value']) keydown($event) {
if ((event['keyCode'] >= 48 && event['keyCode'] <= 57) // numbers range
|| (event['keyCode'] >= 96 && event['keyCode'] <= 105) // numbad numbers range
|| (event['keyCode'] >= 37 && event['keyCode'] <= 40) // arrow keys range
|| event['keyCode'] === 46 // delete
|| event['keyCode'] === 8 // backspace
|| event['keyCode'] === 190 // dot
|| event['keyCode'] === 9 // Tab key
|| event['keyCode'] === 110) { // decimal point
// console.log('the value is entering.')
} else {
event.preventDefault();
return false;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment