aboutsummaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/components/validators/numbersLettersUnderscore
diff options
context:
space:
mode:
Diffstat (limited to 'vid-webpack-master/src/app/shared/components/validators/numbersLettersUnderscore')
-rw-r--r--vid-webpack-master/src/app/shared/components/validators/numbersLettersUnderscore/numbersLettersUnderscore.validator.spec.ts39
-rw-r--r--vid-webpack-master/src/app/shared/components/validators/numbersLettersUnderscore/numbersLettersUnderscore.validator.ts20
2 files changed, 59 insertions, 0 deletions
diff --git a/vid-webpack-master/src/app/shared/components/validators/numbersLettersUnderscore/numbersLettersUnderscore.validator.spec.ts b/vid-webpack-master/src/app/shared/components/validators/numbersLettersUnderscore/numbersLettersUnderscore.validator.spec.ts
new file mode 100644
index 000000000..ec9f3f73e
--- /dev/null
+++ b/vid-webpack-master/src/app/shared/components/validators/numbersLettersUnderscore/numbersLettersUnderscore.validator.spec.ts
@@ -0,0 +1,39 @@
+import { ReflectiveInjector } from '@angular/core';
+import { NumbersLettersUnderscoreValidator } from './numbersLettersUnderscore.validator';
+
+describe('Numbers letters underscore validator', () => {
+ let injector;
+ let service: NumbersLettersUnderscoreValidator;
+
+ beforeEach(() => {
+
+ let injector = ReflectiveInjector.resolveAndCreate([
+ NumbersLettersUnderscoreValidator
+ ]);
+
+ service = injector.get(NumbersLettersUnderscoreValidator);
+ });
+
+
+ describe('#valid', () => {
+ it("'legal' should return null", ()=> {
+ let legalVal: string = "legal";
+ let result = NumbersLettersUnderscoreValidator.valid(legalVal);
+ expect(result).toBeNull();
+ });
+
+ it("'illegal' should return object with invalidNumberLettersUnderscore true", ()=> {
+ let illegalVal: string = "illegal-Val";
+ let result = NumbersLettersUnderscoreValidator.valid(illegalVal);
+ expect(result.invalidNumberLettersUnderscore).toBeTruthy();
+ });
+
+ it("'null' should return null", ()=> {
+ let nullVal: string = null
+ let result = NumbersLettersUnderscoreValidator.valid(nullVal);
+ expect(result).toBeNull();
+ });
+
+
+ });
+});
diff --git a/vid-webpack-master/src/app/shared/components/validators/numbersLettersUnderscore/numbersLettersUnderscore.validator.ts b/vid-webpack-master/src/app/shared/components/validators/numbersLettersUnderscore/numbersLettersUnderscore.validator.ts
new file mode 100644
index 000000000..418bdfc4d
--- /dev/null
+++ b/vid-webpack-master/src/app/shared/components/validators/numbersLettersUnderscore/numbersLettersUnderscore.validator.ts
@@ -0,0 +1,20 @@
+import { Injectable } from '@angular/core';
+import { isNullOrUndefined, isString } from 'util';
+
+@Injectable()
+export class NumbersLettersUnderscoreValidator {
+ static valid(control: any) {
+ let reg = /^[a-zA-Z0-9_]*$/;
+
+ if(isNullOrUndefined(control)) return null;
+ let val = isString(control) ? control : control.value;
+ if (val === null) {
+ return {'invalidNumberLettersUnderscore': true};
+ }
+ if (reg.test(val)) {
+ return null;
+ } else {
+ return {'invalidNumberLettersUnderscore': true};
+ }
+ }
+}