UNPKG

validator-pk

Version:

A lightweight library for validating and formatting Pakistani phone numbers and CNIC.

30 lines 3.77 kB
import { Directive, HostListener } from '@angular/core'; import { validatePhoneNumber } from './validator-pk.service'; import * as i0 from "@angular/core"; export class ValidatorPkDirective { constructor(el, renderer) { this.el = el; this.renderer = renderer; } onInputChange(value) { const validation = validatePhoneNumber(value); if (validation.isValid) { this.renderer.setStyle(this.el.nativeElement, 'border', '1px solid green'); } else { this.renderer.setStyle(this.el.nativeElement, 'border', '1px solid red'); } } } ValidatorPkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ValidatorPkDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); ValidatorPkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ValidatorPkDirective, selector: "[validatePhone]", host: { listeners: { "input": "onInputChange($event.target.value)" } }, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ValidatorPkDirective, decorators: [{ type: Directive, args: [{ selector: '[validatePhone]' }] }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { onInputChange: [{ type: HostListener, args: ['input', ['$event.target.value']] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLXBrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbGlkYXRvci1way9zcmMvbGliL3ZhbGlkYXRvci1way5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBSzdELE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsWUFBb0IsRUFBYyxFQUFVLFFBQW1CO1FBQTNDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO0lBQUcsQ0FBQztJQUduRSxhQUFhLENBQUMsS0FBYTtRQUN6QixNQUFNLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUU7WUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixDQUFDLENBQUM7U0FDNUU7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxlQUFlLENBQUMsQ0FBQztTQUMxRTtJQUNILENBQUM7O2tIQVhVLG9CQUFvQjtzR0FBcEIsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtpQkFDNUI7eUhBS0MsYUFBYTtzQkFEWixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyB2YWxpZGF0ZVBob25lTnVtYmVyIH0gZnJvbSAnLi92YWxpZGF0b3ItcGsuc2VydmljZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1t2YWxpZGF0ZVBob25lXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFZhbGlkYXRvclBrRGlyZWN0aXZlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2lucHV0JywgWyckZXZlbnQudGFyZ2V0LnZhbHVlJ10pXHJcbiAgb25JbnB1dENoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB2YWxpZGF0aW9uID0gdmFsaWRhdGVQaG9uZU51bWJlcih2YWx1ZSk7XHJcbiAgICBpZiAodmFsaWRhdGlvbi5pc1ZhbGlkKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnYm9yZGVyJywgJzFweCBzb2xpZCBncmVlbicpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdib3JkZXInLCAnMXB4IHNvbGlkIHJlZCcpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=