UNPKG

bia-framework

Version:

Bia Framework to work with angular 2

40 lines (33 loc) 1.34 kB
import {Directive, Host, Attribute, OnInit,Optional} from "@angular/core"; import {CoreFormInput} from "../core-form-input/core-form-input.component"; import {AbstractControl} from "@angular/forms"; import {CoreFormDropDown} from "../core-form-dropdown/core-form-dropdown"; import {CoreFormControlBase} from "../CoreFormControlBase"; @Directive( { selector: 'validation-only-number' } ) export class CoreFormValidationOnlyNumber implements OnInit { private host:CoreFormControlBase; ngOnInit():any { if (this.host != null) this.host.addFormValidator( {ValidationName: 'validation-only-number', ValidationMessage: this.validationOnlyNumberMessage}, CoreFormValidationOnlyNumber.OnlyNumberValidator); return undefined; } constructor(@Optional() @Host() private inputHost:CoreFormInput , @Optional() @Host() private dropDownHost:CoreFormDropDown, @Attribute("message") private validationOnlyNumberMessage:string ) { this.host = inputHost || dropDownHost; } public static OnlyNumberValidator( c:AbstractControl ):{ [s:string]:boolean } { if (!/^[0-9]+$/.test(c.value)) return {"validation-only-number": true}; else return null; } }