@skyux/validation 5.5.0 → 5.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/skyux-validation.umd.js +2 -2
- package/documentation.json +14 -142
- package/esm2015/lib/modules/email-validation/email-validation.directive.js +1 -1
- package/esm2015/lib/modules/email-validation/email-validation.directive.js.map +1 -1
- package/esm2015/lib/modules/url-validation/url-validation.directive.js.map +1 -1
- package/esm2015/lib/modules/validation/validation.js +2 -2
- package/esm2015/lib/modules/validation/validation.js.map +1 -1
- package/fesm2015/skyux-validation.js +3 -3
- package/fesm2015/skyux-validation.js.map +1 -1
- package/lib/modules/email-validation/email-validation.directive.d.ts +1 -1
- package/lib/modules/url-validation/url-validation.directive.d.ts +1 -1
- package/package.json +9 -9
|
@@ -31,11 +31,11 @@
|
|
|
31
31
|
// The regex was obtained from http://emailregex.com/
|
|
32
32
|
// which claims to correctly handle ~99% of all email addresses.
|
|
33
33
|
// tslint:disable-next-line:max-line-length
|
|
34
|
-
var regex = /^(([^<>()
|
|
34
|
+
var regex = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
|
35
35
|
return regex.test(emailAddress);
|
|
36
36
|
};
|
|
37
37
|
SkyValidation.isUrl = function (url) {
|
|
38
|
-
var regex = /^((http|https):\/\/)?([\w
|
|
38
|
+
var regex = /^((http|https):\/\/)?([\w-]+\.)+[\w-]+/i;
|
|
39
39
|
return regex.test(url);
|
|
40
40
|
};
|
|
41
41
|
return SkyValidation;
|
package/documentation.json
CHANGED
|
@@ -35,29 +35,7 @@
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
],
|
|
38
|
-
"children": [
|
|
39
|
-
{
|
|
40
|
-
"id": 26,
|
|
41
|
-
"name": "constructor",
|
|
42
|
-
"kind": 512,
|
|
43
|
-
"kindString": "Constructor",
|
|
44
|
-
"flags": {},
|
|
45
|
-
"signatures": [
|
|
46
|
-
{
|
|
47
|
-
"id": 27,
|
|
48
|
-
"name": "new SkyEmailValidationModule",
|
|
49
|
-
"kind": 16384,
|
|
50
|
-
"kindString": "Constructor signature",
|
|
51
|
-
"flags": {},
|
|
52
|
-
"type": {
|
|
53
|
-
"type": "reference",
|
|
54
|
-
"id": 25,
|
|
55
|
-
"name": "SkyEmailValidationModule"
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
]
|
|
59
|
-
}
|
|
60
|
-
],
|
|
38
|
+
"children": [],
|
|
61
39
|
"groups": [
|
|
62
40
|
{
|
|
63
41
|
"title": "Constructors",
|
|
@@ -95,29 +73,7 @@
|
|
|
95
73
|
}
|
|
96
74
|
}
|
|
97
75
|
],
|
|
98
|
-
"children": [
|
|
99
|
-
{
|
|
100
|
-
"id": 29,
|
|
101
|
-
"name": "constructor",
|
|
102
|
-
"kind": 512,
|
|
103
|
-
"kindString": "Constructor",
|
|
104
|
-
"flags": {},
|
|
105
|
-
"signatures": [
|
|
106
|
-
{
|
|
107
|
-
"id": 30,
|
|
108
|
-
"name": "new SkyUrlValidationModule",
|
|
109
|
-
"kind": 16384,
|
|
110
|
-
"kindString": "Constructor signature",
|
|
111
|
-
"flags": {},
|
|
112
|
-
"type": {
|
|
113
|
-
"type": "reference",
|
|
114
|
-
"id": 28,
|
|
115
|
-
"name": "SkyUrlValidationModule"
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
]
|
|
119
|
-
}
|
|
120
|
-
],
|
|
76
|
+
"children": [],
|
|
121
77
|
"groups": [
|
|
122
78
|
{
|
|
123
79
|
"title": "Constructors",
|
|
@@ -144,27 +100,6 @@
|
|
|
144
100
|
"isAbstract": true
|
|
145
101
|
},
|
|
146
102
|
"children": [
|
|
147
|
-
{
|
|
148
|
-
"id": 38,
|
|
149
|
-
"name": "constructor",
|
|
150
|
-
"kind": 512,
|
|
151
|
-
"kindString": "Constructor",
|
|
152
|
-
"flags": {},
|
|
153
|
-
"signatures": [
|
|
154
|
-
{
|
|
155
|
-
"id": 39,
|
|
156
|
-
"name": "new SkyValidation",
|
|
157
|
-
"kind": 16384,
|
|
158
|
-
"kindString": "Constructor signature",
|
|
159
|
-
"flags": {},
|
|
160
|
-
"type": {
|
|
161
|
-
"type": "reference",
|
|
162
|
-
"id": 31,
|
|
163
|
-
"name": "SkyValidation"
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
]
|
|
167
|
-
},
|
|
168
103
|
{
|
|
169
104
|
"id": 32,
|
|
170
105
|
"name": "isEmail",
|
|
@@ -284,27 +219,6 @@
|
|
|
284
219
|
"kindString": "Class",
|
|
285
220
|
"flags": {},
|
|
286
221
|
"children": [
|
|
287
|
-
{
|
|
288
|
-
"id": 47,
|
|
289
|
-
"name": "constructor",
|
|
290
|
-
"kind": 512,
|
|
291
|
-
"kindString": "Constructor",
|
|
292
|
-
"flags": {},
|
|
293
|
-
"signatures": [
|
|
294
|
-
{
|
|
295
|
-
"id": 48,
|
|
296
|
-
"name": "new SkyValidators",
|
|
297
|
-
"kind": 16384,
|
|
298
|
-
"kindString": "Constructor signature",
|
|
299
|
-
"flags": {},
|
|
300
|
-
"type": {
|
|
301
|
-
"type": "reference",
|
|
302
|
-
"id": 40,
|
|
303
|
-
"name": "SkyValidators"
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
]
|
|
307
|
-
},
|
|
308
222
|
{
|
|
309
223
|
"id": 41,
|
|
310
224
|
"name": "email",
|
|
@@ -461,27 +375,6 @@
|
|
|
461
375
|
}
|
|
462
376
|
],
|
|
463
377
|
"children": [
|
|
464
|
-
{
|
|
465
|
-
"id": 2,
|
|
466
|
-
"name": "constructor",
|
|
467
|
-
"kind": 512,
|
|
468
|
-
"kindString": "Constructor",
|
|
469
|
-
"flags": {},
|
|
470
|
-
"signatures": [
|
|
471
|
-
{
|
|
472
|
-
"id": 3,
|
|
473
|
-
"name": "SkyEmailValidationDirective",
|
|
474
|
-
"kind": 16384,
|
|
475
|
-
"kindString": "Constructor signature",
|
|
476
|
-
"flags": {},
|
|
477
|
-
"type": {
|
|
478
|
-
"type": "reference",
|
|
479
|
-
"id": 1,
|
|
480
|
-
"name": "SkyEmailValidationDirective"
|
|
481
|
-
}
|
|
482
|
-
}
|
|
483
|
-
]
|
|
484
|
-
},
|
|
485
378
|
{
|
|
486
379
|
"id": 10,
|
|
487
380
|
"name": "emailIsValid",
|
|
@@ -493,7 +386,7 @@
|
|
|
493
386
|
"sources": [
|
|
494
387
|
{
|
|
495
388
|
"fileName": "projects/validation/src/modules/email-validation/email-validation.directive.ts",
|
|
496
|
-
"line":
|
|
389
|
+
"line": 40,
|
|
497
390
|
"character": 9
|
|
498
391
|
}
|
|
499
392
|
],
|
|
@@ -535,7 +428,7 @@
|
|
|
535
428
|
"sources": [
|
|
536
429
|
{
|
|
537
430
|
"fileName": "projects/validation/src/modules/email-validation/email-validation.directive.ts",
|
|
538
|
-
"line":
|
|
431
|
+
"line": 24,
|
|
539
432
|
"character": 9
|
|
540
433
|
}
|
|
541
434
|
],
|
|
@@ -626,7 +519,7 @@
|
|
|
626
519
|
"sources": [
|
|
627
520
|
{
|
|
628
521
|
"fileName": "projects/validation/src/modules/email-validation/email-validation.directive.ts",
|
|
629
|
-
"line":
|
|
522
|
+
"line": 23,
|
|
630
523
|
"character": 13
|
|
631
524
|
}
|
|
632
525
|
],
|
|
@@ -663,27 +556,6 @@
|
|
|
663
556
|
}
|
|
664
557
|
],
|
|
665
558
|
"children": [
|
|
666
|
-
{
|
|
667
|
-
"id": 14,
|
|
668
|
-
"name": "constructor",
|
|
669
|
-
"kind": 512,
|
|
670
|
-
"kindString": "Constructor",
|
|
671
|
-
"flags": {},
|
|
672
|
-
"signatures": [
|
|
673
|
-
{
|
|
674
|
-
"id": 15,
|
|
675
|
-
"name": "SkyUrlValidationDirective",
|
|
676
|
-
"kind": 16384,
|
|
677
|
-
"kindString": "Constructor signature",
|
|
678
|
-
"flags": {},
|
|
679
|
-
"type": {
|
|
680
|
-
"type": "reference",
|
|
681
|
-
"id": 13,
|
|
682
|
-
"name": "SkyUrlValidationDirective"
|
|
683
|
-
}
|
|
684
|
-
}
|
|
685
|
-
]
|
|
686
|
-
},
|
|
687
559
|
{
|
|
688
560
|
"id": 22,
|
|
689
561
|
"name": "urlIsValid",
|
|
@@ -695,7 +567,7 @@
|
|
|
695
567
|
"sources": [
|
|
696
568
|
{
|
|
697
569
|
"fileName": "projects/validation/src/modules/url-validation/url-validation.directive.ts",
|
|
698
|
-
"line":
|
|
570
|
+
"line": 40,
|
|
699
571
|
"character": 9
|
|
700
572
|
}
|
|
701
573
|
],
|
|
@@ -737,7 +609,7 @@
|
|
|
737
609
|
"sources": [
|
|
738
610
|
{
|
|
739
611
|
"fileName": "projects/validation/src/modules/url-validation/url-validation.directive.ts",
|
|
740
|
-
"line":
|
|
612
|
+
"line": 24,
|
|
741
613
|
"character": 9
|
|
742
614
|
}
|
|
743
615
|
],
|
|
@@ -828,7 +700,7 @@
|
|
|
828
700
|
"sources": [
|
|
829
701
|
{
|
|
830
702
|
"fileName": "projects/validation/src/modules/url-validation/url-validation.directive.ts",
|
|
831
|
-
"line":
|
|
703
|
+
"line": 23,
|
|
832
704
|
"character": 13
|
|
833
705
|
}
|
|
834
706
|
],
|
|
@@ -873,12 +745,12 @@
|
|
|
873
745
|
{
|
|
874
746
|
"fileName": "email-validation-demo.component.ts",
|
|
875
747
|
"filePath": "/projects/validation/documentation/code-examples/email-validation/control-validator/email-validation-demo.component.ts",
|
|
876
|
-
"rawContents": "import { Component, OnInit } from '@angular/core';\
|
|
748
|
+
"rawContents": "import { Component, OnInit } from '@angular/core';\nimport {\n AbstractControl,\n FormBuilder,\n FormControl,\n FormGroup,\n Validators,\n} from '@angular/forms';\nimport { SkyValidators } from '@skyux/validation';\n\n@Component({\n selector: 'app-email-validation-demo',\n templateUrl: './email-validation-demo.component.html',\n})\nexport class EmailValidationDemoComponent implements OnInit {\n public get emailControl(): AbstractControl {\n return this.formGroup.get('email');\n }\n\n public formGroup: FormGroup;\n\n constructor(private formBuilder: FormBuilder) {}\n\n public ngOnInit(): void {\n this.formGroup = this.formBuilder.group({\n email: new FormControl(undefined, [\n Validators.required,\n SkyValidators.email,\n ]),\n });\n }\n}\n"
|
|
877
749
|
},
|
|
878
750
|
{
|
|
879
751
|
"fileName": "email-validation-demo.module.ts",
|
|
880
752
|
"filePath": "/projects/validation/documentation/code-examples/email-validation/control-validator/email-validation-demo.module.ts",
|
|
881
|
-
"rawContents": "import { CommonModule } from '@angular/common';\
|
|
753
|
+
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SkyIdModule } from '@skyux/core';\nimport { SkyInputBoxModule } from '@skyux/forms';\nimport { SkyEmailValidationModule } from '@skyux/validation';\n\nimport { EmailValidationDemoComponent } from './email-validation-demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n SkyEmailValidationModule,\n SkyIdModule,\n SkyInputBoxModule,\n ],\n exports: [EmailValidationDemoComponent],\n declarations: [EmailValidationDemoComponent],\n})\nexport class EmailValidationDemoModule {}\n"
|
|
882
754
|
},
|
|
883
755
|
{
|
|
884
756
|
"fileName": "email-validation-demo.component.html",
|
|
@@ -893,7 +765,7 @@
|
|
|
893
765
|
{
|
|
894
766
|
"fileName": "email-validation-demo.module.ts",
|
|
895
767
|
"filePath": "/projects/validation/documentation/code-examples/email-validation/directive/email-validation-demo.module.ts",
|
|
896
|
-
"rawContents": "import { CommonModule } from '@angular/common';\
|
|
768
|
+
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SkyIdModule } from '@skyux/core';\nimport { SkyInputBoxModule } from '@skyux/forms';\nimport { SkyEmailValidationModule } from '@skyux/validation';\n\nimport { EmailValidationDemoComponent } from './email-validation-demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n SkyEmailValidationModule,\n SkyIdModule,\n SkyInputBoxModule,\n ],\n exports: [EmailValidationDemoComponent],\n declarations: [EmailValidationDemoComponent],\n})\nexport class EmailValidationDemoModule {}\n"
|
|
897
769
|
},
|
|
898
770
|
{
|
|
899
771
|
"fileName": "url-validation-demo.component.html",
|
|
@@ -903,12 +775,12 @@
|
|
|
903
775
|
{
|
|
904
776
|
"fileName": "url-validation-demo.component.ts",
|
|
905
777
|
"filePath": "/projects/validation/documentation/code-examples/url-validation/control-validator/url-validation-demo.component.ts",
|
|
906
|
-
"rawContents": "import { Component, OnInit } from '@angular/core';\
|
|
778
|
+
"rawContents": "import { Component, OnInit } from '@angular/core';\nimport {\n AbstractControl,\n FormBuilder,\n FormControl,\n FormGroup,\n Validators,\n} from '@angular/forms';\nimport { SkyValidators } from '@skyux/validation';\n\n@Component({\n selector: 'app-url-validation-demo',\n templateUrl: './url-validation-demo.component.html',\n})\nexport class UrlValidationDemoComponent implements OnInit {\n public get urlControl(): AbstractControl {\n return this.formGroup.get('url');\n }\n\n public formGroup: FormGroup;\n\n constructor(private formBuilder: FormBuilder) {}\n\n public ngOnInit(): void {\n this.formGroup = this.formBuilder.group({\n url: new FormControl(undefined, [Validators.required, SkyValidators.url]),\n });\n }\n}\n"
|
|
907
779
|
},
|
|
908
780
|
{
|
|
909
781
|
"fileName": "url-validation-demo.module.ts",
|
|
910
782
|
"filePath": "/projects/validation/documentation/code-examples/url-validation/control-validator/url-validation-demo.module.ts",
|
|
911
|
-
"rawContents": "import { CommonModule } from '@angular/common';\
|
|
783
|
+
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SkyIdModule } from '@skyux/core';\nimport { SkyInputBoxModule } from '@skyux/forms';\nimport { SkyUrlValidationModule } from '@skyux/validation';\n\nimport { UrlValidationDemoComponent } from './url-validation-demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n SkyIdModule,\n SkyInputBoxModule,\n SkyUrlValidationModule,\n ],\n exports: [UrlValidationDemoComponent],\n declarations: [UrlValidationDemoComponent],\n})\nexport class UrlValidationDemoModule {}\n"
|
|
912
784
|
},
|
|
913
785
|
{
|
|
914
786
|
"fileName": "url-validation-demo.component.html",
|
|
@@ -923,7 +795,7 @@
|
|
|
923
795
|
{
|
|
924
796
|
"fileName": "url-validation-demo.module.ts",
|
|
925
797
|
"filePath": "/projects/validation/documentation/code-examples/url-validation/directive/url-validation-demo.module.ts",
|
|
926
|
-
"rawContents": "import { CommonModule } from '@angular/common';\
|
|
798
|
+
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SkyIdModule } from '@skyux/core';\nimport { SkyInputBoxModule } from '@skyux/forms';\nimport { SkyUrlValidationModule } from '@skyux/validation';\n\nimport { UrlValidationDemoComponent } from './url-validation-demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n SkyIdModule,\n SkyInputBoxModule,\n SkyUrlValidationModule,\n ],\n exports: [UrlValidationDemoComponent],\n declarations: [UrlValidationDemoComponent],\n})\nexport class UrlValidationDemoModule {}\n"
|
|
927
799
|
}
|
|
928
800
|
]
|
|
929
801
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-validation.directive.js","sourceRoot":"","sources":["../../../../../../../../libs/components/validation/src/lib/modules/email-validation/email-validation.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"email-validation.directive.js","sourceRoot":"","sources":["../../../../../../../../libs/components/validation/src/lib/modules/email-validation/email-validation.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAmB,aAAa,EAAa,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;;AAEzD,sDAAsD;AACtD,MAAM,8BAA8B,GAAG;IACrC,OAAO,EAAE,aAAa;IACtB,WAAW,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,2BAA2B,CAAC;IAC1D,KAAK,EAAE,IAAI;CACZ,CAAC;AACF,gBAAgB;AAEhB;;;;GAIG;AAKH,MAAM,OAAO,2BAA2B;IAC/B,QAAQ,CAAC,OAAwB;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAE5B,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;YAC7B,OAAO;gBACL,QAAQ,EAAE;oBACR,OAAO,EAAE,OAAO,CAAC,KAAK;iBACvB;aACF,CAAC;SACH;IACH,CAAC;IAEM,YAAY,CAAC,KAAa;QAC/B,OAAO,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;;yHAnBU,2BAA2B;6GAA3B,2BAA2B,+CAF3B,CAAC,8BAA8B,CAAC;4FAEhC,2BAA2B;kBAJvC,SAAS;mBAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,SAAS,EAAE,CAAC,8BAA8B,CAAC;iBAC5C","sourcesContent":["import { Directive, forwardRef } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, Validator } from '@angular/forms';\n\nimport { SkyValidation } from '../validation/validation';\n\n// tslint:disable:no-forward-ref no-use-before-declare\nconst SKY_EMAIL_VALIDATION_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyEmailValidationDirective),\n multi: true,\n};\n// tslint:enable\n\n/**\n * Creates an input to validate email addresses. Place this attribute on an `input` element.\n * If users enter values that are not valid email addresses, an error message appears.\n * The directive uses `NgModel` to bind data.\n */\n@Directive({\n selector: '[skyEmailValidation]',\n providers: [SKY_EMAIL_VALIDATION_VALIDATOR],\n})\nexport class SkyEmailValidationDirective implements Validator {\n public validate(control: AbstractControl): { [key: string]: any } {\n const value = control.value;\n\n if (!value) {\n return;\n }\n\n if (!this.emailIsValid(value)) {\n return {\n skyEmail: {\n invalid: control.value,\n },\n };\n }\n }\n\n public emailIsValid(email: string): boolean {\n return SkyValidation.isEmail(email);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-validation.directive.js","sourceRoot":"","sources":["../../../../../../../../libs/components/validation/src/lib/modules/url-validation/url-validation.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"url-validation.directive.js","sourceRoot":"","sources":["../../../../../../../../libs/components/validation/src/lib/modules/url-validation/url-validation.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAmB,aAAa,EAAa,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;;AAEzD,sDAAsD;AACtD,MAAM,4BAA4B,GAAG;IACnC,OAAO,EAAE,aAAa;IACtB,WAAW,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,yBAAyB,CAAC;IACxD,KAAK,EAAE,IAAI;CACZ,CAAC;AACF,gBAAgB;AAEhB;;;;GAIG;AAKH,MAAM,OAAO,yBAAyB;IAC7B,QAAQ,CAAC,OAAwB;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAE5B,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YAC3B,OAAO;gBACL,MAAM,EAAE;oBACN,OAAO,EAAE,OAAO,CAAC,KAAK;iBACvB;aACF,CAAC;SACH;IACH,CAAC;IAEM,UAAU,CAAC,GAAW;QAC3B,OAAO,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;;uHAnBU,yBAAyB;2GAAzB,yBAAyB,6CAFzB,CAAC,4BAA4B,CAAC;4FAE9B,yBAAyB;kBAJrC,SAAS;mBAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,SAAS,EAAE,CAAC,4BAA4B,CAAC;iBAC1C","sourcesContent":["import { Directive, forwardRef } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, Validator } from '@angular/forms';\n\nimport { SkyValidation } from '../validation/validation';\n\n// tslint:disable:no-forward-ref no-use-before-declare\nconst SKY_URL_VALIDATION_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyUrlValidationDirective),\n multi: true,\n};\n// tslint:enable\n\n/**\n * Creates an input to validate URLs. Place this attribute on an `input` element.\n * If users enters values that are not valid URLs, an error message appears.\n * This directive uses `NgModel` to bind data.\n */\n@Directive({\n selector: '[skyUrlValidation]',\n providers: [SKY_URL_VALIDATION_VALIDATOR],\n})\nexport class SkyUrlValidationDirective implements Validator {\n public validate(control: AbstractControl): { [key: string]: any } {\n const value = control.value;\n\n if (!value) {\n return;\n }\n\n if (!this.urlIsValid(value)) {\n return {\n skyUrl: {\n invalid: control.value,\n },\n };\n }\n }\n\n public urlIsValid(url: string): boolean {\n return SkyValidation.isUrl(url);\n }\n}\n"]}
|
|
@@ -3,11 +3,11 @@ export class SkyValidation {
|
|
|
3
3
|
// The regex was obtained from http://emailregex.com/
|
|
4
4
|
// which claims to correctly handle ~99% of all email addresses.
|
|
5
5
|
// tslint:disable-next-line:max-line-length
|
|
6
|
-
|
|
6
|
+
const regex = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
|
7
7
|
return regex.test(emailAddress);
|
|
8
8
|
}
|
|
9
9
|
static isUrl(url) {
|
|
10
|
-
|
|
10
|
+
const regex = /^((http|https):\/\/)?([\w-]+\.)+[\w-]+/i;
|
|
11
11
|
return regex.test(url);
|
|
12
12
|
}
|
|
13
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../../../../../libs/components/validation/src/lib/modules/validation/validation.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,aAAa;IAC1B,MAAM,CAAC,OAAO,CAAC,YAAoB;QACxC,qDAAqD;QACrD,gEAAgE;QAChE,2CAA2C;QAC3C,
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../../../../../libs/components/validation/src/lib/modules/validation/validation.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,aAAa;IAC1B,MAAM,CAAC,OAAO,CAAC,YAAoB;QACxC,qDAAqD;QACrD,gEAAgE;QAChE,2CAA2C;QAC3C,MAAM,KAAK,GACT,sJAAsJ,CAAC;QACzJ,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,GAAW;QAC7B,MAAM,KAAK,GAAG,yCAAyC,CAAC;QACxD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;CACF","sourcesContent":["export abstract class SkyValidation {\n public static isEmail(emailAddress: string): boolean {\n // The regex was obtained from http://emailregex.com/\n // which claims to correctly handle ~99% of all email addresses.\n // tslint:disable-next-line:max-line-length\n const regex =\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return regex.test(emailAddress);\n }\n\n public static isUrl(url: string): boolean {\n const regex = /^((http|https):\\/\\/)?([\\w-]+\\.)+[\\w-]+/i;\n return regex.test(url);\n }\n}\n"]}
|
|
@@ -7,11 +7,11 @@ class SkyValidation {
|
|
|
7
7
|
// The regex was obtained from http://emailregex.com/
|
|
8
8
|
// which claims to correctly handle ~99% of all email addresses.
|
|
9
9
|
// tslint:disable-next-line:max-line-length
|
|
10
|
-
|
|
10
|
+
const regex = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
|
11
11
|
return regex.test(emailAddress);
|
|
12
12
|
}
|
|
13
13
|
static isUrl(url) {
|
|
14
|
-
|
|
14
|
+
const regex = /^((http|https):\/\/)?([\w-]+\.)+[\w-]+/i;
|
|
15
15
|
return regex.test(url);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
@@ -30,7 +30,7 @@ const SKY_EMAIL_VALIDATION_VALIDATOR = {
|
|
|
30
30
|
*/
|
|
31
31
|
class SkyEmailValidationDirective {
|
|
32
32
|
validate(control) {
|
|
33
|
-
|
|
33
|
+
const value = control.value;
|
|
34
34
|
if (!value) {
|
|
35
35
|
return;
|
|
36
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-validation.js","sources":["../../../../../libs/components/validation/src/lib/modules/validation/validation.ts","../../../../../libs/components/validation/src/lib/modules/email-validation/email-validation.directive.ts","../../../../../libs/components/validation/src/lib/modules/email-validation/email-validation.module.ts","../../../../../libs/components/validation/src/lib/modules/url-validation/url-validation.directive.ts","../../../../../libs/components/validation/src/lib/modules/url-validation/url-validation.module.ts","../../../../../libs/components/validation/src/lib/modules/validators/validators.ts","../../../../../libs/components/validation/src/skyux-validation.ts"],"sourcesContent":["export abstract class SkyValidation {\n public static isEmail(emailAddress: string): boolean {\n // The regex was obtained from http://emailregex.com/\n // which claims to correctly handle ~99% of all email addresses.\n // tslint:disable-next-line:max-line-length\n
|
|
1
|
+
{"version":3,"file":"skyux-validation.js","sources":["../../../../../libs/components/validation/src/lib/modules/validation/validation.ts","../../../../../libs/components/validation/src/lib/modules/email-validation/email-validation.directive.ts","../../../../../libs/components/validation/src/lib/modules/email-validation/email-validation.module.ts","../../../../../libs/components/validation/src/lib/modules/url-validation/url-validation.directive.ts","../../../../../libs/components/validation/src/lib/modules/url-validation/url-validation.module.ts","../../../../../libs/components/validation/src/lib/modules/validators/validators.ts","../../../../../libs/components/validation/src/skyux-validation.ts"],"sourcesContent":["export abstract class SkyValidation {\n public static isEmail(emailAddress: string): boolean {\n // The regex was obtained from http://emailregex.com/\n // which claims to correctly handle ~99% of all email addresses.\n // tslint:disable-next-line:max-line-length\n const regex =\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return regex.test(emailAddress);\n }\n\n public static isUrl(url: string): boolean {\n const regex = /^((http|https):\\/\\/)?([\\w-]+\\.)+[\\w-]+/i;\n return regex.test(url);\n }\n}\n","import { Directive, forwardRef } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, Validator } from '@angular/forms';\n\nimport { SkyValidation } from '../validation/validation';\n\n// tslint:disable:no-forward-ref no-use-before-declare\nconst SKY_EMAIL_VALIDATION_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyEmailValidationDirective),\n multi: true,\n};\n// tslint:enable\n\n/**\n * Creates an input to validate email addresses. Place this attribute on an `input` element.\n * If users enter values that are not valid email addresses, an error message appears.\n * The directive uses `NgModel` to bind data.\n */\n@Directive({\n selector: '[skyEmailValidation]',\n providers: [SKY_EMAIL_VALIDATION_VALIDATOR],\n})\nexport class SkyEmailValidationDirective implements Validator {\n public validate(control: AbstractControl): { [key: string]: any } {\n const value = control.value;\n\n if (!value) {\n return;\n }\n\n if (!this.emailIsValid(value)) {\n return {\n skyEmail: {\n invalid: control.value,\n },\n };\n }\n }\n\n public emailIsValid(email: string): boolean {\n return SkyValidation.isEmail(email);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { SkyEmailValidationDirective } from './email-validation.directive';\n\n@NgModule({\n declarations: [SkyEmailValidationDirective],\n imports: [FormsModule],\n exports: [SkyEmailValidationDirective],\n})\nexport class SkyEmailValidationModule {}\n","import { Directive, forwardRef } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, Validator } from '@angular/forms';\n\nimport { SkyValidation } from '../validation/validation';\n\n// tslint:disable:no-forward-ref no-use-before-declare\nconst SKY_URL_VALIDATION_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyUrlValidationDirective),\n multi: true,\n};\n// tslint:enable\n\n/**\n * Creates an input to validate URLs. Place this attribute on an `input` element.\n * If users enters values that are not valid URLs, an error message appears.\n * This directive uses `NgModel` to bind data.\n */\n@Directive({\n selector: '[skyUrlValidation]',\n providers: [SKY_URL_VALIDATION_VALIDATOR],\n})\nexport class SkyUrlValidationDirective implements Validator {\n public validate(control: AbstractControl): { [key: string]: any } {\n const value = control.value;\n\n if (!value) {\n return;\n }\n\n if (!this.urlIsValid(value)) {\n return {\n skyUrl: {\n invalid: control.value,\n },\n };\n }\n }\n\n public urlIsValid(url: string): boolean {\n return SkyValidation.isUrl(url);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { SkyUrlValidationDirective } from './url-validation.directive';\n\n@NgModule({\n declarations: [SkyUrlValidationDirective],\n imports: [FormsModule],\n exports: [SkyUrlValidationDirective],\n})\nexport class SkyUrlValidationModule {}\n","import { AbstractControl, ValidationErrors } from '@angular/forms';\n\nimport { SkyValidation } from '../validation/validation';\n\n// Need to add the following to classes which contain static methods.\n// See: https://github.com/ng-packagr/ng-packagr/issues/641\n// @dynamic\nexport class SkyValidators {\n /**\n * Validates email addresses in reactive forms. Add this validator directly to the form control\n * model in the component class. If users enter values that are not valid email addresses, the\n * validator throws an error. Since this is a sync validator, it returns a set of validation\n * errors or `undefined` immediately when users enter values.\n * @param control\n */\n public static email(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value) {\n return undefined;\n }\n\n return SkyValidation.isEmail(value)\n ? undefined\n : { skyEmail: { invalid: value } };\n }\n\n /**\n * Validates URLs in reactive forms. Add this validator directly to the form control model in\n * the component class. If users enter values that are not valid URLs, the validator throws an\n * error. Since this is a sync validator, it returns a set of validation errors or `undefined`\n * immediately when users enter values.\n * @param control\n */\n public static url(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (!value) {\n return undefined;\n }\n\n return SkyValidation.isUrl(value)\n ? undefined\n : { skyUrl: { invalid: value } };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyux/validation",
|
|
3
|
-
"version": "5.
|
|
4
|
-
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^12.2.16",
|
|
6
|
-
"@angular/core": "^12.2.16",
|
|
7
|
-
"@angular/forms": "^12.2.16"
|
|
8
|
-
},
|
|
9
|
-
"dependencies": {
|
|
10
|
-
"tslib": "^2.3.1"
|
|
11
|
-
},
|
|
3
|
+
"version": "5.6.2",
|
|
12
4
|
"author": "Blackbaud, Inc.",
|
|
13
5
|
"keywords": [
|
|
14
6
|
"blackbaud",
|
|
@@ -23,6 +15,14 @@
|
|
|
23
15
|
"url": "https://github.com/blackbaud/skyux/issues"
|
|
24
16
|
},
|
|
25
17
|
"homepage": "https://github.com/blackbaud/skyux#readme",
|
|
18
|
+
"peerDependencies": {
|
|
19
|
+
"@angular/common": "^12.2.16",
|
|
20
|
+
"@angular/core": "^12.2.16",
|
|
21
|
+
"@angular/forms": "^12.2.16"
|
|
22
|
+
},
|
|
23
|
+
"dependencies": {
|
|
24
|
+
"tslib": "^2.3.1"
|
|
25
|
+
},
|
|
26
26
|
"main": "bundles/skyux-validation.umd.js",
|
|
27
27
|
"module": "fesm2015/skyux-validation.js",
|
|
28
28
|
"es2015": "fesm2015/skyux-validation.js",
|