diff options
Diffstat (limited to 'catalog-ui/src/app/directives/custom-validation/custom-validation.ts')
-rw-r--r-- | catalog-ui/src/app/directives/custom-validation/custom-validation.ts | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/catalog-ui/src/app/directives/custom-validation/custom-validation.ts b/catalog-ui/src/app/directives/custom-validation/custom-validation.ts new file mode 100644 index 0000000000..e35a747e1b --- /dev/null +++ b/catalog-ui/src/app/directives/custom-validation/custom-validation.ts @@ -0,0 +1,32 @@ +'use strict'; +export interface ICustomValidationScope extends ng.IScope { + validationFunc:Function; +} + +export class CustomValidationDirective implements ng.IDirective { + + constructor() { + } + + require = 'ngModel'; + restrict = 'A'; + + scope = { + validationFunc: '=' + }; + + link = (scope:ICustomValidationScope, elem, attrs, ngModel) => { + + ngModel.$validators.customValidation = (modelValue, viewValue):boolean => { + return scope.validationFunc(viewValue); + }; + + }; + + public static factory = ()=> { + return new CustomValidationDirective(); + }; + +} + +CustomValidationDirective.factory.$inject = []; |