@skyux/validation 5.9.4 → 6.0.0-beta.10
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/documentation.json +7 -7
- package/esm2020/index.mjs +9 -0
- package/esm2020/lib/modules/email-validation/email-validation.directive.mjs +42 -0
- package/esm2020/lib/modules/email-validation/email-validation.module.mjs +18 -0
- package/esm2020/lib/modules/url-validation/url-validation.directive.mjs +42 -0
- package/esm2020/lib/modules/url-validation/url-validation.module.mjs +18 -0
- package/esm2020/lib/modules/validation/validation.mjs +13 -0
- package/esm2020/lib/modules/validators/validators.mjs +39 -0
- package/esm2020/skyux-validation.mjs +5 -0
- package/fesm2015/{skyux-validation.js → skyux-validation.mjs} +15 -20
- package/fesm2015/skyux-validation.mjs.map +1 -0
- package/fesm2020/skyux-validation.mjs +165 -0
- package/fesm2020/skyux-validation.mjs.map +1 -0
- package/package.json +25 -9
- package/bundles/skyux-validation.umd.js +0 -219
- package/esm2015/index.js +0 -9
- package/esm2015/index.js.map +0 -1
- package/esm2015/lib/modules/email-validation/email-validation.directive.js +0 -44
- package/esm2015/lib/modules/email-validation/email-validation.directive.js.map +0 -1
- package/esm2015/lib/modules/email-validation/email-validation.module.js +0 -18
- package/esm2015/lib/modules/email-validation/email-validation.module.js.map +0 -1
- package/esm2015/lib/modules/url-validation/url-validation.directive.js +0 -44
- package/esm2015/lib/modules/url-validation/url-validation.directive.js.map +0 -1
- package/esm2015/lib/modules/url-validation/url-validation.module.js +0 -18
- package/esm2015/lib/modules/url-validation/url-validation.module.js.map +0 -1
- package/esm2015/lib/modules/validation/validation.js +0 -14
- package/esm2015/lib/modules/validation/validation.js.map +0 -1
- package/esm2015/lib/modules/validators/validators.js +0 -39
- package/esm2015/lib/modules/validators/validators.js.map +0 -1
- package/esm2015/skyux-validation.js +0 -5
- package/esm2015/skyux-validation.js.map +0 -1
- package/fesm2015/skyux-validation.js.map +0 -1
package/documentation.json
CHANGED
|
@@ -155,7 +155,7 @@
|
|
|
155
155
|
"sources": [
|
|
156
156
|
{
|
|
157
157
|
"fileName": "projects/validation/src/modules/validation/validation.ts",
|
|
158
|
-
"line":
|
|
158
|
+
"line": 10,
|
|
159
159
|
"character": 16
|
|
160
160
|
}
|
|
161
161
|
],
|
|
@@ -386,7 +386,7 @@
|
|
|
386
386
|
"sources": [
|
|
387
387
|
{
|
|
388
388
|
"fileName": "projects/validation/src/modules/email-validation/email-validation.directive.ts",
|
|
389
|
-
"line":
|
|
389
|
+
"line": 38,
|
|
390
390
|
"character": 9
|
|
391
391
|
}
|
|
392
392
|
],
|
|
@@ -428,7 +428,7 @@
|
|
|
428
428
|
"sources": [
|
|
429
429
|
{
|
|
430
430
|
"fileName": "projects/validation/src/modules/email-validation/email-validation.directive.ts",
|
|
431
|
-
"line":
|
|
431
|
+
"line": 22,
|
|
432
432
|
"character": 9
|
|
433
433
|
}
|
|
434
434
|
],
|
|
@@ -519,7 +519,7 @@
|
|
|
519
519
|
"sources": [
|
|
520
520
|
{
|
|
521
521
|
"fileName": "projects/validation/src/modules/email-validation/email-validation.directive.ts",
|
|
522
|
-
"line":
|
|
522
|
+
"line": 21,
|
|
523
523
|
"character": 13
|
|
524
524
|
}
|
|
525
525
|
],
|
|
@@ -567,7 +567,7 @@
|
|
|
567
567
|
"sources": [
|
|
568
568
|
{
|
|
569
569
|
"fileName": "projects/validation/src/modules/url-validation/url-validation.directive.ts",
|
|
570
|
-
"line":
|
|
570
|
+
"line": 38,
|
|
571
571
|
"character": 9
|
|
572
572
|
}
|
|
573
573
|
],
|
|
@@ -609,7 +609,7 @@
|
|
|
609
609
|
"sources": [
|
|
610
610
|
{
|
|
611
611
|
"fileName": "projects/validation/src/modules/url-validation/url-validation.directive.ts",
|
|
612
|
-
"line":
|
|
612
|
+
"line": 22,
|
|
613
613
|
"character": 9
|
|
614
614
|
}
|
|
615
615
|
],
|
|
@@ -700,7 +700,7 @@
|
|
|
700
700
|
"sources": [
|
|
701
701
|
{
|
|
702
702
|
"fileName": "projects/validation/src/modules/url-validation/url-validation.directive.ts",
|
|
703
|
-
"line":
|
|
703
|
+
"line": 21,
|
|
704
704
|
"character": 13
|
|
705
705
|
}
|
|
706
706
|
],
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './lib/modules/email-validation/email-validation.module';
|
|
2
|
+
export * from './lib/modules/url-validation/url-validation.module';
|
|
3
|
+
export * from './lib/modules/validation/validation';
|
|
4
|
+
export * from './lib/modules/validators/validators';
|
|
5
|
+
// Components and directives must be exported to support Angular's "partial" Ivy compiler.
|
|
6
|
+
// Obscure names are used to indicate types are not part of the public API.
|
|
7
|
+
export { SkyEmailValidationDirective as λ1 } from './lib/modules/email-validation/email-validation.directive';
|
|
8
|
+
export { SkyUrlValidationDirective as λ2 } from './lib/modules/url-validation/url-validation.directive';
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdmFsaWRhdGlvbi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRCwwRkFBMEY7QUFDMUYsMkVBQTJFO0FBQzNFLE9BQU8sRUFBRSwyQkFBMkIsSUFBSSxFQUFFLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUM5RyxPQUFPLEVBQUUseUJBQXlCLElBQUksRUFBRSxFQUFFLE1BQU0sdURBQXVELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2VtYWlsLXZhbGlkYXRpb24vZW1haWwtdmFsaWRhdGlvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy91cmwtdmFsaWRhdGlvbi91cmwtdmFsaWRhdGlvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy92YWxpZGF0aW9uL3ZhbGlkYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy92YWxpZGF0b3JzL3ZhbGlkYXRvcnMnO1xuXG4vLyBDb21wb25lbnRzIGFuZCBkaXJlY3RpdmVzIG11c3QgYmUgZXhwb3J0ZWQgdG8gc3VwcG9ydCBBbmd1bGFyJ3MgXCJwYXJ0aWFsXCIgSXZ5IGNvbXBpbGVyLlxuLy8gT2JzY3VyZSBuYW1lcyBhcmUgdXNlZCB0byBpbmRpY2F0ZSB0eXBlcyBhcmUgbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkuXG5leHBvcnQgeyBTa3lFbWFpbFZhbGlkYXRpb25EaXJlY3RpdmUgYXMgzrsxIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9lbWFpbC12YWxpZGF0aW9uL2VtYWlsLXZhbGlkYXRpb24uZGlyZWN0aXZlJztcbmV4cG9ydCB7IFNreVVybFZhbGlkYXRpb25EaXJlY3RpdmUgYXMgzrsyIH0gZnJvbSAnLi9saWIvbW9kdWxlcy91cmwtdmFsaWRhdGlvbi91cmwtdmFsaWRhdGlvbi5kaXJlY3RpdmUnO1xuIl19
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Directive, forwardRef } from '@angular/core';
|
|
2
|
+
import { NG_VALIDATORS } from '@angular/forms';
|
|
3
|
+
import { SkyValidation } from '../validation/validation';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
const SKY_EMAIL_VALIDATION_VALIDATOR = {
|
|
6
|
+
provide: NG_VALIDATORS,
|
|
7
|
+
useExisting: forwardRef(() => SkyEmailValidationDirective),
|
|
8
|
+
multi: true,
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Creates an input to validate email addresses. Place this attribute on an `input` element.
|
|
12
|
+
* If users enter values that are not valid email addresses, an error message appears.
|
|
13
|
+
* The directive uses `NgModel` to bind data.
|
|
14
|
+
*/
|
|
15
|
+
export class SkyEmailValidationDirective {
|
|
16
|
+
validate(control) {
|
|
17
|
+
const value = control.value;
|
|
18
|
+
if (!value) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
if (!this.emailIsValid(value)) {
|
|
22
|
+
return {
|
|
23
|
+
skyEmail: {
|
|
24
|
+
invalid: control.value,
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
emailIsValid(email) {
|
|
30
|
+
return SkyValidation.isEmail(email);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
SkyEmailValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
34
|
+
SkyEmailValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: SkyEmailValidationDirective, selector: "[skyEmailValidation]", providers: [SKY_EMAIL_VALIDATION_VALIDATOR], ngImport: i0 });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationDirective, decorators: [{
|
|
36
|
+
type: Directive,
|
|
37
|
+
args: [{
|
|
38
|
+
selector: '[skyEmailValidation]',
|
|
39
|
+
providers: [SKY_EMAIL_VALIDATION_VALIDATOR],
|
|
40
|
+
}]
|
|
41
|
+
}] });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtdmFsaWRhdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdmFsaWRhdGlvbi9zcmMvbGliL21vZHVsZXMvZW1haWwtdmFsaWRhdGlvbi9lbWFpbC12YWxpZGF0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQW1CLGFBQWEsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBRTNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFekQsTUFBTSw4QkFBOEIsR0FBRztJQUNyQyxPQUFPLEVBQUUsYUFBYTtJQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUEyQixDQUFDO0lBQzFELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUVGOzs7O0dBSUc7QUFLSCxNQUFNLE9BQU8sMkJBQTJCO0lBQy9CLFFBQVEsQ0FBQyxPQUF3QjtRQUN0QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBRTVCLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM3QixPQUFPO2dCQUNMLFFBQVEsRUFBRTtvQkFDUixPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUs7aUJBQ3ZCO2FBQ0YsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFhO1FBQy9CLE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDOzt3SEFuQlUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsK0NBRjNCLENBQUMsOEJBQThCLENBQUM7MkZBRWhDLDJCQUEyQjtrQkFKdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxTQUFTLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztpQkFDNUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgTkdfVkFMSURBVE9SUywgVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBTa3lWYWxpZGF0aW9uIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uJztcblxuY29uc3QgU0tZX0VNQUlMX1ZBTElEQVRJT05fVkFMSURBVE9SID0ge1xuICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTa3lFbWFpbFZhbGlkYXRpb25EaXJlY3RpdmUpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBpbnB1dCB0byB2YWxpZGF0ZSBlbWFpbCBhZGRyZXNzZXMuIFBsYWNlIHRoaXMgYXR0cmlidXRlIG9uIGFuIGBpbnB1dGAgZWxlbWVudC5cbiAqIElmIHVzZXJzIGVudGVyIHZhbHVlcyB0aGF0IGFyZSBub3QgdmFsaWQgZW1haWwgYWRkcmVzc2VzLCBhbiBlcnJvciBtZXNzYWdlIGFwcGVhcnMuXG4gKiBUaGUgZGlyZWN0aXZlIHVzZXMgYE5nTW9kZWxgIHRvIGJpbmQgZGF0YS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreUVtYWlsVmFsaWRhdGlvbl0nLFxuICBwcm92aWRlcnM6IFtTS1lfRU1BSUxfVkFMSURBVElPTl9WQUxJREFUT1JdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lFbWFpbFZhbGlkYXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBWYWxpZGF0b3Ige1xuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xuXG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5lbWFpbElzVmFsaWQodmFsdWUpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBza3lFbWFpbDoge1xuICAgICAgICAgIGludmFsaWQ6IGNvbnRyb2wudmFsdWUsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBlbWFpbElzVmFsaWQoZW1haWw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBTa3lWYWxpZGF0aW9uLmlzRW1haWwoZW1haWwpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { FormsModule } from '@angular/forms';
|
|
3
|
+
import { SkyEmailValidationDirective } from './email-validation.directive';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class SkyEmailValidationModule {
|
|
6
|
+
}
|
|
7
|
+
SkyEmailValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
SkyEmailValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationModule, declarations: [SkyEmailValidationDirective], imports: [FormsModule], exports: [SkyEmailValidationDirective] });
|
|
9
|
+
SkyEmailValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationModule, imports: [[FormsModule]] });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
declarations: [SkyEmailValidationDirective],
|
|
14
|
+
imports: [FormsModule],
|
|
15
|
+
exports: [SkyEmailValidationDirective],
|
|
16
|
+
}]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtdmFsaWRhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdmFsaWRhdGlvbi9zcmMvbGliL21vZHVsZXMvZW1haWwtdmFsaWRhdGlvbi9lbWFpbC12YWxpZGF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFPM0UsTUFBTSxPQUFPLHdCQUF3Qjs7cUhBQXhCLHdCQUF3QjtzSEFBeEIsd0JBQXdCLGlCQUpwQiwyQkFBMkIsYUFDaEMsV0FBVyxhQUNYLDJCQUEyQjtzSEFFMUIsd0JBQXdCLFlBSDFCLENBQUMsV0FBVyxDQUFDOzJGQUdYLHdCQUF3QjtrQkFMcEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztvQkFDM0MsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDO29CQUN0QixPQUFPLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztpQkFDdkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFNreUVtYWlsVmFsaWRhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZW1haWwtdmFsaWRhdGlvbi5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTa3lFbWFpbFZhbGlkYXRpb25EaXJlY3RpdmVdLFxuICBpbXBvcnRzOiBbRm9ybXNNb2R1bGVdLFxuICBleHBvcnRzOiBbU2t5RW1haWxWYWxpZGF0aW9uRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RW1haWxWYWxpZGF0aW9uTW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Directive, forwardRef } from '@angular/core';
|
|
2
|
+
import { NG_VALIDATORS } from '@angular/forms';
|
|
3
|
+
import { SkyValidation } from '../validation/validation';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
const SKY_URL_VALIDATION_VALIDATOR = {
|
|
6
|
+
provide: NG_VALIDATORS,
|
|
7
|
+
useExisting: forwardRef(() => SkyUrlValidationDirective),
|
|
8
|
+
multi: true,
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Creates an input to validate URLs. Place this attribute on an `input` element.
|
|
12
|
+
* If users enters values that are not valid URLs, an error message appears.
|
|
13
|
+
* This directive uses `NgModel` to bind data.
|
|
14
|
+
*/
|
|
15
|
+
export class SkyUrlValidationDirective {
|
|
16
|
+
validate(control) {
|
|
17
|
+
const value = control.value;
|
|
18
|
+
if (!value) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
if (!this.urlIsValid(value)) {
|
|
22
|
+
return {
|
|
23
|
+
skyUrl: {
|
|
24
|
+
invalid: control.value,
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
urlIsValid(url) {
|
|
30
|
+
return SkyValidation.isUrl(url);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
SkyUrlValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
34
|
+
SkyUrlValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: SkyUrlValidationDirective, selector: "[skyUrlValidation]", providers: [SKY_URL_VALIDATION_VALIDATOR], ngImport: i0 });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationDirective, decorators: [{
|
|
36
|
+
type: Directive,
|
|
37
|
+
args: [{
|
|
38
|
+
selector: '[skyUrlValidation]',
|
|
39
|
+
providers: [SKY_URL_VALIDATION_VALIDATOR],
|
|
40
|
+
}]
|
|
41
|
+
}] });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLXZhbGlkYXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3ZhbGlkYXRpb24vc3JjL2xpYi9tb2R1bGVzL3VybC12YWxpZGF0aW9uL3VybC12YWxpZGF0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQW1CLGFBQWEsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBRTNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFekQsTUFBTSw0QkFBNEIsR0FBRztJQUNuQyxPQUFPLEVBQUUsYUFBYTtJQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDO0lBQ3hELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUVGOzs7O0dBSUc7QUFLSCxNQUFNLE9BQU8seUJBQXlCO0lBQzdCLFFBQVEsQ0FBQyxPQUF3QjtRQUN0QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBRTVCLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMzQixPQUFPO2dCQUNMLE1BQU0sRUFBRTtvQkFDTixPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUs7aUJBQ3ZCO2FBQ0YsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVNLFVBQVUsQ0FBQyxHQUFXO1FBQzNCLE9BQU8sYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsQyxDQUFDOztzSEFuQlUseUJBQXlCOzBHQUF6Qix5QkFBeUIsNkNBRnpCLENBQUMsNEJBQTRCLENBQUM7MkZBRTlCLHlCQUF5QjtrQkFKckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixTQUFTLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztpQkFDMUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgTkdfVkFMSURBVE9SUywgVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBTa3lWYWxpZGF0aW9uIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uJztcblxuY29uc3QgU0tZX1VSTF9WQUxJREFUSU9OX1ZBTElEQVRPUiA9IHtcbiAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2t5VXJsVmFsaWRhdGlvbkRpcmVjdGl2ZSksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIGlucHV0IHRvIHZhbGlkYXRlIFVSTHMuIFBsYWNlIHRoaXMgYXR0cmlidXRlIG9uIGFuIGBpbnB1dGAgZWxlbWVudC5cbiAqIElmIHVzZXJzIGVudGVycyB2YWx1ZXMgdGhhdCBhcmUgbm90IHZhbGlkIFVSTHMsIGFuIGVycm9yIG1lc3NhZ2UgYXBwZWFycy5cbiAqIFRoaXMgZGlyZWN0aXZlIHVzZXMgYE5nTW9kZWxgIHRvIGJpbmQgZGF0YS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreVVybFZhbGlkYXRpb25dJyxcbiAgcHJvdmlkZXJzOiBbU0tZX1VSTF9WQUxJREFUSU9OX1ZBTElEQVRPUl0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVVybFZhbGlkYXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBWYWxpZGF0b3Ige1xuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xuXG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy51cmxJc1ZhbGlkKHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc2t5VXJsOiB7XG4gICAgICAgICAgaW52YWxpZDogY29udHJvbC52YWx1ZSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHVybElzVmFsaWQodXJsOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gU2t5VmFsaWRhdGlvbi5pc1VybCh1cmwpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { FormsModule } from '@angular/forms';
|
|
3
|
+
import { SkyUrlValidationDirective } from './url-validation.directive';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class SkyUrlValidationModule {
|
|
6
|
+
}
|
|
7
|
+
SkyUrlValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
SkyUrlValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationModule, declarations: [SkyUrlValidationDirective], imports: [FormsModule], exports: [SkyUrlValidationDirective] });
|
|
9
|
+
SkyUrlValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationModule, imports: [[FormsModule]] });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
declarations: [SkyUrlValidationDirective],
|
|
14
|
+
imports: [FormsModule],
|
|
15
|
+
exports: [SkyUrlValidationDirective],
|
|
16
|
+
}]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLXZhbGlkYXRpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3ZhbGlkYXRpb24vc3JjL2xpYi9tb2R1bGVzL3VybC12YWxpZGF0aW9uL3VybC12YWxpZGF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFPdkUsTUFBTSxPQUFPLHNCQUFzQjs7bUhBQXRCLHNCQUFzQjtvSEFBdEIsc0JBQXNCLGlCQUpsQix5QkFBeUIsYUFDOUIsV0FBVyxhQUNYLHlCQUF5QjtvSEFFeEIsc0JBQXNCLFlBSHhCLENBQUMsV0FBVyxDQUFDOzJGQUdYLHNCQUFzQjtrQkFMbEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDekMsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDO29CQUN0QixPQUFPLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztpQkFDckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFNreVVybFZhbGlkYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuL3VybC12YWxpZGF0aW9uLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1NreVVybFZhbGlkYXRpb25EaXJlY3RpdmVdLFxuICBpbXBvcnRzOiBbRm9ybXNNb2R1bGVdLFxuICBleHBvcnRzOiBbU2t5VXJsVmFsaWRhdGlvbkRpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVVybFZhbGlkYXRpb25Nb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export class SkyValidation {
|
|
2
|
+
static isEmail(emailAddress) {
|
|
3
|
+
// The regex was obtained from http://emailregex.com/
|
|
4
|
+
// which claims to correctly handle ~99% of all email addresses.
|
|
5
|
+
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,}))$/;
|
|
6
|
+
return regex.test(emailAddress);
|
|
7
|
+
}
|
|
8
|
+
static isUrl(url) {
|
|
9
|
+
const regex = /^((http|https):\/\/)?([\w-]+\.)+[\w-]+/i;
|
|
10
|
+
return regex.test(url);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy92YWxpZGF0aW9uL3NyYy9saWIvbW9kdWxlcy92YWxpZGF0aW9uL3ZhbGlkYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFnQixhQUFhO0lBQzFCLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBb0I7UUFDeEMscURBQXFEO1FBQ3JELGdFQUFnRTtRQUNoRSxNQUFNLEtBQUssR0FDVCxzSkFBc0osQ0FBQztRQUN6SixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBVztRQUM3QixNQUFNLEtBQUssR0FBRyx5Q0FBeUMsQ0FBQztRQUN4RCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNreVZhbGlkYXRpb24ge1xuICBwdWJsaWMgc3RhdGljIGlzRW1haWwoZW1haWxBZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAvLyBUaGUgcmVnZXggd2FzIG9idGFpbmVkIGZyb20gaHR0cDovL2VtYWlscmVnZXguY29tL1xuICAgIC8vIHdoaWNoIGNsYWltcyB0byBjb3JyZWN0bHkgaGFuZGxlIH45OSUgb2YgYWxsIGVtYWlsIGFkZHJlc3Nlcy5cbiAgICBjb25zdCByZWdleCA9XG4gICAgICAvXigoW148PigpW1xcXVxcXFwuLDs6XFxzQFwiXSsoXFwuW148PigpW1xcXVxcXFwuLDs6XFxzQFwiXSspKil8KFwiLitcIikpQCgoXFxbWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XFwuWzAtOV17MSwzfV0pfCgoW2EtekEtWlxcLTAtOV0rXFwuKStbYS16QS1aXXsyLH0pKSQvO1xuICAgIHJldHVybiByZWdleC50ZXN0KGVtYWlsQWRkcmVzcyk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzVXJsKHVybDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcmVnZXggPSAvXigoaHR0cHxodHRwcyk6XFwvXFwvKT8oW1xcdy1dK1xcLikrW1xcdy1dKy9pO1xuICAgIHJldHVybiByZWdleC50ZXN0KHVybCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { SkyValidation } from '../validation/validation';
|
|
2
|
+
// Need to add the following to classes which contain static methods.
|
|
3
|
+
// See: https://github.com/ng-packagr/ng-packagr/issues/641
|
|
4
|
+
// @dynamic
|
|
5
|
+
export class SkyValidators {
|
|
6
|
+
/**
|
|
7
|
+
* Validates email addresses in reactive forms. Add this validator directly to the form control
|
|
8
|
+
* model in the component class. If users enter values that are not valid email addresses, the
|
|
9
|
+
* validator throws an error. Since this is a sync validator, it returns a set of validation
|
|
10
|
+
* errors or `undefined` immediately when users enter values.
|
|
11
|
+
* @param control
|
|
12
|
+
*/
|
|
13
|
+
static email(control) {
|
|
14
|
+
const value = control.value;
|
|
15
|
+
if (!value) {
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
return SkyValidation.isEmail(value)
|
|
19
|
+
? undefined
|
|
20
|
+
: { skyEmail: { invalid: value } };
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Validates URLs in reactive forms. Add this validator directly to the form control model in
|
|
24
|
+
* the component class. If users enter values that are not valid URLs, the validator throws an
|
|
25
|
+
* error. Since this is a sync validator, it returns a set of validation errors or `undefined`
|
|
26
|
+
* immediately when users enter values.
|
|
27
|
+
* @param control
|
|
28
|
+
*/
|
|
29
|
+
static url(control) {
|
|
30
|
+
const value = control.value;
|
|
31
|
+
if (!value) {
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
return SkyValidation.isUrl(value)
|
|
35
|
+
? undefined
|
|
36
|
+
: { skyUrl: { invalid: value } };
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy92YWxpZGF0aW9uL3NyYy9saWIvbW9kdWxlcy92YWxpZGF0b3JzL3ZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpELHFFQUFxRTtBQUNyRSwyREFBMkQ7QUFDM0QsV0FBVztBQUNYLE1BQU0sT0FBTyxhQUFhO0lBQ3hCOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBd0I7UUFDMUMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUU1QixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxTQUFTO1lBQ1gsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBd0I7UUFDeEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUU1QixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxPQUFPLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQy9CLENBQUMsQ0FBQyxTQUFTO1lBQ1gsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDckMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBTa3lWYWxpZGF0aW9uIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uJztcblxuLy8gTmVlZCB0byBhZGQgdGhlIGZvbGxvd2luZyB0byBjbGFzc2VzIHdoaWNoIGNvbnRhaW4gc3RhdGljIG1ldGhvZHMuXG4vLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1wYWNrYWdyL25nLXBhY2thZ3IvaXNzdWVzLzY0MVxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBTa3lWYWxpZGF0b3JzIHtcbiAgLyoqXG4gICAqIFZhbGlkYXRlcyBlbWFpbCBhZGRyZXNzZXMgaW4gcmVhY3RpdmUgZm9ybXMuIEFkZCB0aGlzIHZhbGlkYXRvciBkaXJlY3RseSB0byB0aGUgZm9ybSBjb250cm9sXG4gICAqIG1vZGVsIGluIHRoZSBjb21wb25lbnQgY2xhc3MuIElmIHVzZXJzIGVudGVyIHZhbHVlcyB0aGF0IGFyZSBub3QgdmFsaWQgZW1haWwgYWRkcmVzc2VzLCB0aGVcbiAgICogdmFsaWRhdG9yIHRocm93cyBhbiBlcnJvci4gU2luY2UgdGhpcyBpcyBhIHN5bmMgdmFsaWRhdG9yLCBpdCByZXR1cm5zIGEgc2V0IG9mIHZhbGlkYXRpb25cbiAgICogZXJyb3JzIG9yIGB1bmRlZmluZWRgIGltbWVkaWF0ZWx5IHdoZW4gdXNlcnMgZW50ZXIgdmFsdWVzLlxuICAgKiBAcGFyYW0gY29udHJvbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBlbWFpbChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xuXG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICByZXR1cm4gU2t5VmFsaWRhdGlvbi5pc0VtYWlsKHZhbHVlKVxuICAgICAgPyB1bmRlZmluZWRcbiAgICAgIDogeyBza3lFbWFpbDogeyBpbnZhbGlkOiB2YWx1ZSB9IH07XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIFVSTHMgaW4gcmVhY3RpdmUgZm9ybXMuIEFkZCB0aGlzIHZhbGlkYXRvciBkaXJlY3RseSB0byB0aGUgZm9ybSBjb250cm9sIG1vZGVsIGluXG4gICAqIHRoZSBjb21wb25lbnQgY2xhc3MuIElmIHVzZXJzIGVudGVyIHZhbHVlcyB0aGF0IGFyZSBub3QgdmFsaWQgVVJMcywgdGhlIHZhbGlkYXRvciB0aHJvd3MgYW5cbiAgICogZXJyb3IuIFNpbmNlIHRoaXMgaXMgYSBzeW5jIHZhbGlkYXRvciwgaXQgcmV0dXJucyBhIHNldCBvZiB2YWxpZGF0aW9uIGVycm9ycyBvciBgdW5kZWZpbmVkYFxuICAgKiBpbW1lZGlhdGVseSB3aGVuIHVzZXJzIGVudGVyIHZhbHVlcy5cbiAgICogQHBhcmFtIGNvbnRyb2xcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdXJsKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7XG5cbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiBTa3lWYWxpZGF0aW9uLmlzVXJsKHZhbHVlKVxuICAgICAgPyB1bmRlZmluZWRcbiAgICAgIDogeyBza3lVcmw6IHsgaW52YWxpZDogdmFsdWUgfSB9O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtdmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy92YWxpZGF0aW9uL3NyYy9za3l1eC12YWxpZGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -6,7 +6,6 @@ class SkyValidation {
|
|
|
6
6
|
static isEmail(emailAddress) {
|
|
7
7
|
// The regex was obtained from http://emailregex.com/
|
|
8
8
|
// which claims to correctly handle ~99% of all email addresses.
|
|
9
|
-
// tslint:disable-next-line:max-line-length
|
|
10
9
|
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
10
|
return regex.test(emailAddress);
|
|
12
11
|
}
|
|
@@ -16,13 +15,11 @@ class SkyValidation {
|
|
|
16
15
|
}
|
|
17
16
|
}
|
|
18
17
|
|
|
19
|
-
// tslint:disable:no-forward-ref no-use-before-declare
|
|
20
18
|
const SKY_EMAIL_VALIDATION_VALIDATOR = {
|
|
21
19
|
provide: NG_VALIDATORS,
|
|
22
20
|
useExisting: forwardRef(() => SkyEmailValidationDirective),
|
|
23
21
|
multi: true,
|
|
24
22
|
};
|
|
25
|
-
// tslint:enable
|
|
26
23
|
/**
|
|
27
24
|
* Creates an input to validate email addresses. Place this attribute on an `input` element.
|
|
28
25
|
* If users enter values that are not valid email addresses, an error message appears.
|
|
@@ -46,9 +43,9 @@ class SkyEmailValidationDirective {
|
|
|
46
43
|
return SkyValidation.isEmail(email);
|
|
47
44
|
}
|
|
48
45
|
}
|
|
49
|
-
SkyEmailValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
50
|
-
SkyEmailValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
46
|
+
SkyEmailValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
47
|
+
SkyEmailValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: SkyEmailValidationDirective, selector: "[skyEmailValidation]", providers: [SKY_EMAIL_VALIDATION_VALIDATOR], ngImport: i0 });
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationDirective, decorators: [{
|
|
52
49
|
type: Directive,
|
|
53
50
|
args: [{
|
|
54
51
|
selector: '[skyEmailValidation]',
|
|
@@ -58,10 +55,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
58
55
|
|
|
59
56
|
class SkyEmailValidationModule {
|
|
60
57
|
}
|
|
61
|
-
SkyEmailValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
62
|
-
SkyEmailValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
63
|
-
SkyEmailValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
58
|
+
SkyEmailValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
59
|
+
SkyEmailValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationModule, declarations: [SkyEmailValidationDirective], imports: [FormsModule], exports: [SkyEmailValidationDirective] });
|
|
60
|
+
SkyEmailValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationModule, imports: [[FormsModule]] });
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationModule, decorators: [{
|
|
65
62
|
type: NgModule,
|
|
66
63
|
args: [{
|
|
67
64
|
declarations: [SkyEmailValidationDirective],
|
|
@@ -70,13 +67,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
70
67
|
}]
|
|
71
68
|
}] });
|
|
72
69
|
|
|
73
|
-
// tslint:disable:no-forward-ref no-use-before-declare
|
|
74
70
|
const SKY_URL_VALIDATION_VALIDATOR = {
|
|
75
71
|
provide: NG_VALIDATORS,
|
|
76
72
|
useExisting: forwardRef(() => SkyUrlValidationDirective),
|
|
77
73
|
multi: true,
|
|
78
74
|
};
|
|
79
|
-
// tslint:enable
|
|
80
75
|
/**
|
|
81
76
|
* Creates an input to validate URLs. Place this attribute on an `input` element.
|
|
82
77
|
* If users enters values that are not valid URLs, an error message appears.
|
|
@@ -100,9 +95,9 @@ class SkyUrlValidationDirective {
|
|
|
100
95
|
return SkyValidation.isUrl(url);
|
|
101
96
|
}
|
|
102
97
|
}
|
|
103
|
-
SkyUrlValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
104
|
-
SkyUrlValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
105
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
98
|
+
SkyUrlValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
99
|
+
SkyUrlValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: SkyUrlValidationDirective, selector: "[skyUrlValidation]", providers: [SKY_URL_VALIDATION_VALIDATOR], ngImport: i0 });
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationDirective, decorators: [{
|
|
106
101
|
type: Directive,
|
|
107
102
|
args: [{
|
|
108
103
|
selector: '[skyUrlValidation]',
|
|
@@ -112,10 +107,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
112
107
|
|
|
113
108
|
class SkyUrlValidationModule {
|
|
114
109
|
}
|
|
115
|
-
SkyUrlValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
116
|
-
SkyUrlValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
117
|
-
SkyUrlValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
118
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
110
|
+
SkyUrlValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
111
|
+
SkyUrlValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationModule, declarations: [SkyUrlValidationDirective], imports: [FormsModule], exports: [SkyUrlValidationDirective] });
|
|
112
|
+
SkyUrlValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationModule, imports: [[FormsModule]] });
|
|
113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationModule, decorators: [{
|
|
119
114
|
type: NgModule,
|
|
120
115
|
args: [{
|
|
121
116
|
declarations: [SkyUrlValidationDirective],
|
|
@@ -167,4 +162,4 @@ class SkyValidators {
|
|
|
167
162
|
*/
|
|
168
163
|
|
|
169
164
|
export { SkyEmailValidationModule, SkyUrlValidationModule, SkyValidation, SkyValidators, SkyEmailValidationDirective as λ1, SkyUrlValidationDirective as λ2 };
|
|
170
|
-
//# sourceMappingURL=skyux-validation.
|
|
165
|
+
//# sourceMappingURL=skyux-validation.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skyux-validation.mjs","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 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\nconst SKY_EMAIL_VALIDATION_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyEmailValidationDirective),\n multi: true,\n};\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\nconst SKY_URL_VALIDATION_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyUrlValidationDirective),\n multi: true,\n};\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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"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { forwardRef, Directive, NgModule } from '@angular/core';
|
|
3
|
+
import { NG_VALIDATORS, FormsModule } from '@angular/forms';
|
|
4
|
+
|
|
5
|
+
class SkyValidation {
|
|
6
|
+
static isEmail(emailAddress) {
|
|
7
|
+
// The regex was obtained from http://emailregex.com/
|
|
8
|
+
// which claims to correctly handle ~99% of all email addresses.
|
|
9
|
+
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,}))$/;
|
|
10
|
+
return regex.test(emailAddress);
|
|
11
|
+
}
|
|
12
|
+
static isUrl(url) {
|
|
13
|
+
const regex = /^((http|https):\/\/)?([\w-]+\.)+[\w-]+/i;
|
|
14
|
+
return regex.test(url);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const SKY_EMAIL_VALIDATION_VALIDATOR = {
|
|
19
|
+
provide: NG_VALIDATORS,
|
|
20
|
+
useExisting: forwardRef(() => SkyEmailValidationDirective),
|
|
21
|
+
multi: true,
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Creates an input to validate email addresses. Place this attribute on an `input` element.
|
|
25
|
+
* If users enter values that are not valid email addresses, an error message appears.
|
|
26
|
+
* The directive uses `NgModel` to bind data.
|
|
27
|
+
*/
|
|
28
|
+
class SkyEmailValidationDirective {
|
|
29
|
+
validate(control) {
|
|
30
|
+
const value = control.value;
|
|
31
|
+
if (!value) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (!this.emailIsValid(value)) {
|
|
35
|
+
return {
|
|
36
|
+
skyEmail: {
|
|
37
|
+
invalid: control.value,
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
emailIsValid(email) {
|
|
43
|
+
return SkyValidation.isEmail(email);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
SkyEmailValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
47
|
+
SkyEmailValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: SkyEmailValidationDirective, selector: "[skyEmailValidation]", providers: [SKY_EMAIL_VALIDATION_VALIDATOR], ngImport: i0 });
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationDirective, decorators: [{
|
|
49
|
+
type: Directive,
|
|
50
|
+
args: [{
|
|
51
|
+
selector: '[skyEmailValidation]',
|
|
52
|
+
providers: [SKY_EMAIL_VALIDATION_VALIDATOR],
|
|
53
|
+
}]
|
|
54
|
+
}] });
|
|
55
|
+
|
|
56
|
+
class SkyEmailValidationModule {
|
|
57
|
+
}
|
|
58
|
+
SkyEmailValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
59
|
+
SkyEmailValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationModule, declarations: [SkyEmailValidationDirective], imports: [FormsModule], exports: [SkyEmailValidationDirective] });
|
|
60
|
+
SkyEmailValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationModule, imports: [[FormsModule]] });
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyEmailValidationModule, decorators: [{
|
|
62
|
+
type: NgModule,
|
|
63
|
+
args: [{
|
|
64
|
+
declarations: [SkyEmailValidationDirective],
|
|
65
|
+
imports: [FormsModule],
|
|
66
|
+
exports: [SkyEmailValidationDirective],
|
|
67
|
+
}]
|
|
68
|
+
}] });
|
|
69
|
+
|
|
70
|
+
const SKY_URL_VALIDATION_VALIDATOR = {
|
|
71
|
+
provide: NG_VALIDATORS,
|
|
72
|
+
useExisting: forwardRef(() => SkyUrlValidationDirective),
|
|
73
|
+
multi: true,
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Creates an input to validate URLs. Place this attribute on an `input` element.
|
|
77
|
+
* If users enters values that are not valid URLs, an error message appears.
|
|
78
|
+
* This directive uses `NgModel` to bind data.
|
|
79
|
+
*/
|
|
80
|
+
class SkyUrlValidationDirective {
|
|
81
|
+
validate(control) {
|
|
82
|
+
const value = control.value;
|
|
83
|
+
if (!value) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
if (!this.urlIsValid(value)) {
|
|
87
|
+
return {
|
|
88
|
+
skyUrl: {
|
|
89
|
+
invalid: control.value,
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
urlIsValid(url) {
|
|
95
|
+
return SkyValidation.isUrl(url);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
SkyUrlValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
99
|
+
SkyUrlValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: SkyUrlValidationDirective, selector: "[skyUrlValidation]", providers: [SKY_URL_VALIDATION_VALIDATOR], ngImport: i0 });
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationDirective, decorators: [{
|
|
101
|
+
type: Directive,
|
|
102
|
+
args: [{
|
|
103
|
+
selector: '[skyUrlValidation]',
|
|
104
|
+
providers: [SKY_URL_VALIDATION_VALIDATOR],
|
|
105
|
+
}]
|
|
106
|
+
}] });
|
|
107
|
+
|
|
108
|
+
class SkyUrlValidationModule {
|
|
109
|
+
}
|
|
110
|
+
SkyUrlValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
111
|
+
SkyUrlValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationModule, declarations: [SkyUrlValidationDirective], imports: [FormsModule], exports: [SkyUrlValidationDirective] });
|
|
112
|
+
SkyUrlValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationModule, imports: [[FormsModule]] });
|
|
113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyUrlValidationModule, decorators: [{
|
|
114
|
+
type: NgModule,
|
|
115
|
+
args: [{
|
|
116
|
+
declarations: [SkyUrlValidationDirective],
|
|
117
|
+
imports: [FormsModule],
|
|
118
|
+
exports: [SkyUrlValidationDirective],
|
|
119
|
+
}]
|
|
120
|
+
}] });
|
|
121
|
+
|
|
122
|
+
// Need to add the following to classes which contain static methods.
|
|
123
|
+
// See: https://github.com/ng-packagr/ng-packagr/issues/641
|
|
124
|
+
// @dynamic
|
|
125
|
+
class SkyValidators {
|
|
126
|
+
/**
|
|
127
|
+
* Validates email addresses in reactive forms. Add this validator directly to the form control
|
|
128
|
+
* model in the component class. If users enter values that are not valid email addresses, the
|
|
129
|
+
* validator throws an error. Since this is a sync validator, it returns a set of validation
|
|
130
|
+
* errors or `undefined` immediately when users enter values.
|
|
131
|
+
* @param control
|
|
132
|
+
*/
|
|
133
|
+
static email(control) {
|
|
134
|
+
const value = control.value;
|
|
135
|
+
if (!value) {
|
|
136
|
+
return undefined;
|
|
137
|
+
}
|
|
138
|
+
return SkyValidation.isEmail(value)
|
|
139
|
+
? undefined
|
|
140
|
+
: { skyEmail: { invalid: value } };
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Validates URLs in reactive forms. Add this validator directly to the form control model in
|
|
144
|
+
* the component class. If users enter values that are not valid URLs, the validator throws an
|
|
145
|
+
* error. Since this is a sync validator, it returns a set of validation errors or `undefined`
|
|
146
|
+
* immediately when users enter values.
|
|
147
|
+
* @param control
|
|
148
|
+
*/
|
|
149
|
+
static url(control) {
|
|
150
|
+
const value = control.value;
|
|
151
|
+
if (!value) {
|
|
152
|
+
return undefined;
|
|
153
|
+
}
|
|
154
|
+
return SkyValidation.isUrl(value)
|
|
155
|
+
? undefined
|
|
156
|
+
: { skyUrl: { invalid: value } };
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Generated bundle index. Do not edit.
|
|
162
|
+
*/
|
|
163
|
+
|
|
164
|
+
export { SkyEmailValidationModule, SkyUrlValidationModule, SkyValidation, SkyValidators, SkyEmailValidationDirective as λ1, SkyUrlValidationDirective as λ2 };
|
|
165
|
+
//# sourceMappingURL=skyux-validation.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skyux-validation.mjs","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 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\nconst SKY_EMAIL_VALIDATION_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyEmailValidationDirective),\n multi: true,\n};\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\nconst SKY_URL_VALIDATION_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyUrlValidationDirective),\n multi: true,\n};\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,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyux/validation",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0-beta.10",
|
|
4
4
|
"author": "Blackbaud, Inc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"blackbaud",
|
|
@@ -15,19 +15,35 @@
|
|
|
15
15
|
"url": "https://github.com/blackbaud/skyux/issues"
|
|
16
16
|
},
|
|
17
17
|
"homepage": "https://github.com/blackbaud/skyux#readme",
|
|
18
|
+
"exports": {
|
|
19
|
+
"./package.json": {
|
|
20
|
+
"default": "./package.json"
|
|
21
|
+
},
|
|
22
|
+
".": {
|
|
23
|
+
"types": "./skyux-validation.d.ts",
|
|
24
|
+
"esm2020": "./esm2020/skyux-validation.mjs",
|
|
25
|
+
"es2020": "./fesm2020/skyux-validation.mjs",
|
|
26
|
+
"es2015": "./fesm2015/skyux-validation.mjs",
|
|
27
|
+
"node": "./fesm2015/skyux-validation.mjs",
|
|
28
|
+
"default": "./fesm2020/skyux-validation.mjs"
|
|
29
|
+
},
|
|
30
|
+
"./documentation.json": {
|
|
31
|
+
"default": "./documentation.json"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
18
34
|
"peerDependencies": {
|
|
19
|
-
"@angular/common": "^
|
|
20
|
-
"@angular/core": "^
|
|
21
|
-
"@angular/forms": "^
|
|
35
|
+
"@angular/common": "^13.3.2",
|
|
36
|
+
"@angular/core": "^13.3.2",
|
|
37
|
+
"@angular/forms": "^13.3.2"
|
|
22
38
|
},
|
|
23
39
|
"dependencies": {
|
|
24
40
|
"tslib": "^2.3.1"
|
|
25
41
|
},
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"fesm2015": "fesm2015/skyux-validation.
|
|
42
|
+
"module": "fesm2015/skyux-validation.mjs",
|
|
43
|
+
"es2020": "fesm2020/skyux-validation.mjs",
|
|
44
|
+
"esm2020": "esm2020/skyux-validation.mjs",
|
|
45
|
+
"fesm2020": "fesm2020/skyux-validation.mjs",
|
|
46
|
+
"fesm2015": "fesm2015/skyux-validation.mjs",
|
|
31
47
|
"typings": "skyux-validation.d.ts",
|
|
32
48
|
"sideEffects": false
|
|
33
49
|
}
|
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/forms')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define('@skyux/validation', ['exports', '@angular/core', '@angular/forms'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.skyux = global.skyux || {}, global.skyux.validation = {}), global.ng.core, global.ng.forms));
|
|
5
|
-
})(this, (function (exports, i0, forms) { 'use strict';
|
|
6
|
-
|
|
7
|
-
function _interopNamespace(e) {
|
|
8
|
-
if (e && e.__esModule) return e;
|
|
9
|
-
var n = Object.create(null);
|
|
10
|
-
if (e) {
|
|
11
|
-
Object.keys(e).forEach(function (k) {
|
|
12
|
-
if (k !== 'default') {
|
|
13
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
14
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
get: function () { return e[k]; }
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
n["default"] = e;
|
|
22
|
-
return Object.freeze(n);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
|
|
26
|
-
|
|
27
|
-
var SkyValidation = /** @class */ (function () {
|
|
28
|
-
function SkyValidation() {
|
|
29
|
-
}
|
|
30
|
-
SkyValidation.isEmail = function (emailAddress) {
|
|
31
|
-
// The regex was obtained from http://emailregex.com/
|
|
32
|
-
// which claims to correctly handle ~99% of all email addresses.
|
|
33
|
-
// tslint:disable-next-line:max-line-length
|
|
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
|
-
return regex.test(emailAddress);
|
|
36
|
-
};
|
|
37
|
-
SkyValidation.isUrl = function (url) {
|
|
38
|
-
var regex = /^((http|https):\/\/)?([\w-]+\.)+[\w-]+/i;
|
|
39
|
-
return regex.test(url);
|
|
40
|
-
};
|
|
41
|
-
return SkyValidation;
|
|
42
|
-
}());
|
|
43
|
-
|
|
44
|
-
// tslint:disable:no-forward-ref no-use-before-declare
|
|
45
|
-
var SKY_EMAIL_VALIDATION_VALIDATOR = {
|
|
46
|
-
provide: forms.NG_VALIDATORS,
|
|
47
|
-
useExisting: i0.forwardRef(function () { return SkyEmailValidationDirective; }),
|
|
48
|
-
multi: true,
|
|
49
|
-
};
|
|
50
|
-
// tslint:enable
|
|
51
|
-
/**
|
|
52
|
-
* Creates an input to validate email addresses. Place this attribute on an `input` element.
|
|
53
|
-
* If users enter values that are not valid email addresses, an error message appears.
|
|
54
|
-
* The directive uses `NgModel` to bind data.
|
|
55
|
-
*/
|
|
56
|
-
var SkyEmailValidationDirective = /** @class */ (function () {
|
|
57
|
-
function SkyEmailValidationDirective() {
|
|
58
|
-
}
|
|
59
|
-
SkyEmailValidationDirective.prototype.validate = function (control) {
|
|
60
|
-
var value = control.value;
|
|
61
|
-
if (!value) {
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
if (!this.emailIsValid(value)) {
|
|
65
|
-
return {
|
|
66
|
-
skyEmail: {
|
|
67
|
-
invalid: control.value,
|
|
68
|
-
},
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
SkyEmailValidationDirective.prototype.emailIsValid = function (email) {
|
|
73
|
-
return SkyValidation.isEmail(email);
|
|
74
|
-
};
|
|
75
|
-
return SkyEmailValidationDirective;
|
|
76
|
-
}());
|
|
77
|
-
SkyEmailValidationDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyEmailValidationDirective, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
|
|
78
|
-
SkyEmailValidationDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: SkyEmailValidationDirective, selector: "[skyEmailValidation]", providers: [SKY_EMAIL_VALIDATION_VALIDATOR], ngImport: i0__namespace });
|
|
79
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyEmailValidationDirective, decorators: [{
|
|
80
|
-
type: i0.Directive,
|
|
81
|
-
args: [{
|
|
82
|
-
selector: '[skyEmailValidation]',
|
|
83
|
-
providers: [SKY_EMAIL_VALIDATION_VALIDATOR],
|
|
84
|
-
}]
|
|
85
|
-
}] });
|
|
86
|
-
|
|
87
|
-
var SkyEmailValidationModule = /** @class */ (function () {
|
|
88
|
-
function SkyEmailValidationModule() {
|
|
89
|
-
}
|
|
90
|
-
return SkyEmailValidationModule;
|
|
91
|
-
}());
|
|
92
|
-
SkyEmailValidationModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyEmailValidationModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
|
93
|
-
SkyEmailValidationModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyEmailValidationModule, declarations: [SkyEmailValidationDirective], imports: [forms.FormsModule], exports: [SkyEmailValidationDirective] });
|
|
94
|
-
SkyEmailValidationModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyEmailValidationModule, imports: [[forms.FormsModule]] });
|
|
95
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyEmailValidationModule, decorators: [{
|
|
96
|
-
type: i0.NgModule,
|
|
97
|
-
args: [{
|
|
98
|
-
declarations: [SkyEmailValidationDirective],
|
|
99
|
-
imports: [forms.FormsModule],
|
|
100
|
-
exports: [SkyEmailValidationDirective],
|
|
101
|
-
}]
|
|
102
|
-
}] });
|
|
103
|
-
|
|
104
|
-
// tslint:disable:no-forward-ref no-use-before-declare
|
|
105
|
-
var SKY_URL_VALIDATION_VALIDATOR = {
|
|
106
|
-
provide: forms.NG_VALIDATORS,
|
|
107
|
-
useExisting: i0.forwardRef(function () { return SkyUrlValidationDirective; }),
|
|
108
|
-
multi: true,
|
|
109
|
-
};
|
|
110
|
-
// tslint:enable
|
|
111
|
-
/**
|
|
112
|
-
* Creates an input to validate URLs. Place this attribute on an `input` element.
|
|
113
|
-
* If users enters values that are not valid URLs, an error message appears.
|
|
114
|
-
* This directive uses `NgModel` to bind data.
|
|
115
|
-
*/
|
|
116
|
-
var SkyUrlValidationDirective = /** @class */ (function () {
|
|
117
|
-
function SkyUrlValidationDirective() {
|
|
118
|
-
}
|
|
119
|
-
SkyUrlValidationDirective.prototype.validate = function (control) {
|
|
120
|
-
var value = control.value;
|
|
121
|
-
if (!value) {
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
if (!this.urlIsValid(value)) {
|
|
125
|
-
return {
|
|
126
|
-
skyUrl: {
|
|
127
|
-
invalid: control.value,
|
|
128
|
-
},
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
};
|
|
132
|
-
SkyUrlValidationDirective.prototype.urlIsValid = function (url) {
|
|
133
|
-
return SkyValidation.isUrl(url);
|
|
134
|
-
};
|
|
135
|
-
return SkyUrlValidationDirective;
|
|
136
|
-
}());
|
|
137
|
-
SkyUrlValidationDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyUrlValidationDirective, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
|
|
138
|
-
SkyUrlValidationDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: SkyUrlValidationDirective, selector: "[skyUrlValidation]", providers: [SKY_URL_VALIDATION_VALIDATOR], ngImport: i0__namespace });
|
|
139
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyUrlValidationDirective, decorators: [{
|
|
140
|
-
type: i0.Directive,
|
|
141
|
-
args: [{
|
|
142
|
-
selector: '[skyUrlValidation]',
|
|
143
|
-
providers: [SKY_URL_VALIDATION_VALIDATOR],
|
|
144
|
-
}]
|
|
145
|
-
}] });
|
|
146
|
-
|
|
147
|
-
var SkyUrlValidationModule = /** @class */ (function () {
|
|
148
|
-
function SkyUrlValidationModule() {
|
|
149
|
-
}
|
|
150
|
-
return SkyUrlValidationModule;
|
|
151
|
-
}());
|
|
152
|
-
SkyUrlValidationModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyUrlValidationModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
|
153
|
-
SkyUrlValidationModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyUrlValidationModule, declarations: [SkyUrlValidationDirective], imports: [forms.FormsModule], exports: [SkyUrlValidationDirective] });
|
|
154
|
-
SkyUrlValidationModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyUrlValidationModule, imports: [[forms.FormsModule]] });
|
|
155
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyUrlValidationModule, decorators: [{
|
|
156
|
-
type: i0.NgModule,
|
|
157
|
-
args: [{
|
|
158
|
-
declarations: [SkyUrlValidationDirective],
|
|
159
|
-
imports: [forms.FormsModule],
|
|
160
|
-
exports: [SkyUrlValidationDirective],
|
|
161
|
-
}]
|
|
162
|
-
}] });
|
|
163
|
-
|
|
164
|
-
// Need to add the following to classes which contain static methods.
|
|
165
|
-
// See: https://github.com/ng-packagr/ng-packagr/issues/641
|
|
166
|
-
// @dynamic
|
|
167
|
-
var SkyValidators = /** @class */ (function () {
|
|
168
|
-
function SkyValidators() {
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Validates email addresses in reactive forms. Add this validator directly to the form control
|
|
172
|
-
* model in the component class. If users enter values that are not valid email addresses, the
|
|
173
|
-
* validator throws an error. Since this is a sync validator, it returns a set of validation
|
|
174
|
-
* errors or `undefined` immediately when users enter values.
|
|
175
|
-
* @param control
|
|
176
|
-
*/
|
|
177
|
-
SkyValidators.email = function (control) {
|
|
178
|
-
var value = control.value;
|
|
179
|
-
if (!value) {
|
|
180
|
-
return undefined;
|
|
181
|
-
}
|
|
182
|
-
return SkyValidation.isEmail(value)
|
|
183
|
-
? undefined
|
|
184
|
-
: { skyEmail: { invalid: value } };
|
|
185
|
-
};
|
|
186
|
-
/**
|
|
187
|
-
* Validates URLs in reactive forms. Add this validator directly to the form control model in
|
|
188
|
-
* the component class. If users enter values that are not valid URLs, the validator throws an
|
|
189
|
-
* error. Since this is a sync validator, it returns a set of validation errors or `undefined`
|
|
190
|
-
* immediately when users enter values.
|
|
191
|
-
* @param control
|
|
192
|
-
*/
|
|
193
|
-
SkyValidators.url = function (control) {
|
|
194
|
-
var value = control.value;
|
|
195
|
-
if (!value) {
|
|
196
|
-
return undefined;
|
|
197
|
-
}
|
|
198
|
-
return SkyValidation.isUrl(value)
|
|
199
|
-
? undefined
|
|
200
|
-
: { skyUrl: { invalid: value } };
|
|
201
|
-
};
|
|
202
|
-
return SkyValidators;
|
|
203
|
-
}());
|
|
204
|
-
|
|
205
|
-
/**
|
|
206
|
-
* Generated bundle index. Do not edit.
|
|
207
|
-
*/
|
|
208
|
-
|
|
209
|
-
exports.SkyEmailValidationModule = SkyEmailValidationModule;
|
|
210
|
-
exports.SkyUrlValidationModule = SkyUrlValidationModule;
|
|
211
|
-
exports.SkyValidation = SkyValidation;
|
|
212
|
-
exports.SkyValidators = SkyValidators;
|
|
213
|
-
exports["λ1"] = SkyEmailValidationDirective;
|
|
214
|
-
exports["λ2"] = SkyUrlValidationDirective;
|
|
215
|
-
|
|
216
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
217
|
-
|
|
218
|
-
}));
|
|
219
|
-
//# sourceMappingURL=skyux-validation.umd.js.map
|
package/esm2015/index.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export * from './lib/modules/email-validation/email-validation.module';
|
|
2
|
-
export * from './lib/modules/url-validation/url-validation.module';
|
|
3
|
-
export * from './lib/modules/validation/validation';
|
|
4
|
-
export * from './lib/modules/validators/validators';
|
|
5
|
-
// Components and directives must be exported to support Angular's "partial" Ivy compiler.
|
|
6
|
-
// Obscure names are used to indicate types are not part of the public API.
|
|
7
|
-
export { SkyEmailValidationDirective as λ1 } from './lib/modules/email-validation/email-validation.directive';
|
|
8
|
-
export { SkyUrlValidationDirective as λ2 } from './lib/modules/url-validation/url-validation.directive';
|
|
9
|
-
//# sourceMappingURL=index.js.map
|
package/esm2015/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/components/validation/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wDAAwD,CAAC;AACvE,cAAc,oDAAoD,CAAC;AACnE,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AAEpD,0FAA0F;AAC1F,2EAA2E;AAC3E,OAAO,EAAE,2BAA2B,IAAI,EAAE,EAAE,MAAM,2DAA2D,CAAC;AAC9G,OAAO,EAAE,yBAAyB,IAAI,EAAE,EAAE,MAAM,uDAAuD,CAAC","sourcesContent":["export * from './lib/modules/email-validation/email-validation.module';\nexport * from './lib/modules/url-validation/url-validation.module';\nexport * from './lib/modules/validation/validation';\nexport * from './lib/modules/validators/validators';\n\n// Components and directives must be exported to support Angular's \"partial\" Ivy compiler.\n// Obscure names are used to indicate types are not part of the public API.\nexport { SkyEmailValidationDirective as λ1 } from './lib/modules/email-validation/email-validation.directive';\nexport { SkyUrlValidationDirective as λ2 } from './lib/modules/url-validation/url-validation.directive';\n"]}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Directive, forwardRef } from '@angular/core';
|
|
2
|
-
import { NG_VALIDATORS } from '@angular/forms';
|
|
3
|
-
import { SkyValidation } from '../validation/validation';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
// tslint:disable:no-forward-ref no-use-before-declare
|
|
6
|
-
const SKY_EMAIL_VALIDATION_VALIDATOR = {
|
|
7
|
-
provide: NG_VALIDATORS,
|
|
8
|
-
useExisting: forwardRef(() => SkyEmailValidationDirective),
|
|
9
|
-
multi: true,
|
|
10
|
-
};
|
|
11
|
-
// tslint:enable
|
|
12
|
-
/**
|
|
13
|
-
* Creates an input to validate email addresses. Place this attribute on an `input` element.
|
|
14
|
-
* If users enter values that are not valid email addresses, an error message appears.
|
|
15
|
-
* The directive uses `NgModel` to bind data.
|
|
16
|
-
*/
|
|
17
|
-
export class SkyEmailValidationDirective {
|
|
18
|
-
validate(control) {
|
|
19
|
-
const value = control.value;
|
|
20
|
-
if (!value) {
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
if (!this.emailIsValid(value)) {
|
|
24
|
-
return {
|
|
25
|
-
skyEmail: {
|
|
26
|
-
invalid: control.value,
|
|
27
|
-
},
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
emailIsValid(email) {
|
|
32
|
-
return SkyValidation.isEmail(email);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
SkyEmailValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyEmailValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
36
|
-
SkyEmailValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: SkyEmailValidationDirective, selector: "[skyEmailValidation]", providers: [SKY_EMAIL_VALIDATION_VALIDATOR], ngImport: i0 });
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyEmailValidationDirective, decorators: [{
|
|
38
|
-
type: Directive,
|
|
39
|
-
args: [{
|
|
40
|
-
selector: '[skyEmailValidation]',
|
|
41
|
-
providers: [SKY_EMAIL_VALIDATION_VALIDATOR],
|
|
42
|
-
}]
|
|
43
|
-
}] });
|
|
44
|
-
//# sourceMappingURL=email-validation.directive.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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,18 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { FormsModule } from '@angular/forms';
|
|
3
|
-
import { SkyEmailValidationDirective } from './email-validation.directive';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class SkyEmailValidationModule {
|
|
6
|
-
}
|
|
7
|
-
SkyEmailValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyEmailValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
-
SkyEmailValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyEmailValidationModule, declarations: [SkyEmailValidationDirective], imports: [FormsModule], exports: [SkyEmailValidationDirective] });
|
|
9
|
-
SkyEmailValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyEmailValidationModule, imports: [[FormsModule]] });
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyEmailValidationModule, decorators: [{
|
|
11
|
-
type: NgModule,
|
|
12
|
-
args: [{
|
|
13
|
-
declarations: [SkyEmailValidationDirective],
|
|
14
|
-
imports: [FormsModule],
|
|
15
|
-
exports: [SkyEmailValidationDirective],
|
|
16
|
-
}]
|
|
17
|
-
}] });
|
|
18
|
-
//# sourceMappingURL=email-validation.module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"email-validation.module.js","sourceRoot":"","sources":["../../../../../../../../libs/components/validation/src/lib/modules/email-validation/email-validation.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;;AAO3E,MAAM,OAAO,wBAAwB;;sHAAxB,wBAAwB;uHAAxB,wBAAwB,iBAJpB,2BAA2B,aAChC,WAAW,aACX,2BAA2B;uHAE1B,wBAAwB,YAH1B,CAAC,WAAW,CAAC;4FAGX,wBAAwB;kBALpC,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,2BAA2B,CAAC;oBAC3C,OAAO,EAAE,CAAC,WAAW,CAAC;oBACtB,OAAO,EAAE,CAAC,2BAA2B,CAAC;iBACvC","sourcesContent":["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"]}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Directive, forwardRef } from '@angular/core';
|
|
2
|
-
import { NG_VALIDATORS } from '@angular/forms';
|
|
3
|
-
import { SkyValidation } from '../validation/validation';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
// tslint:disable:no-forward-ref no-use-before-declare
|
|
6
|
-
const SKY_URL_VALIDATION_VALIDATOR = {
|
|
7
|
-
provide: NG_VALIDATORS,
|
|
8
|
-
useExisting: forwardRef(() => SkyUrlValidationDirective),
|
|
9
|
-
multi: true,
|
|
10
|
-
};
|
|
11
|
-
// tslint:enable
|
|
12
|
-
/**
|
|
13
|
-
* Creates an input to validate URLs. Place this attribute on an `input` element.
|
|
14
|
-
* If users enters values that are not valid URLs, an error message appears.
|
|
15
|
-
* This directive uses `NgModel` to bind data.
|
|
16
|
-
*/
|
|
17
|
-
export class SkyUrlValidationDirective {
|
|
18
|
-
validate(control) {
|
|
19
|
-
const value = control.value;
|
|
20
|
-
if (!value) {
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
if (!this.urlIsValid(value)) {
|
|
24
|
-
return {
|
|
25
|
-
skyUrl: {
|
|
26
|
-
invalid: control.value,
|
|
27
|
-
},
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
urlIsValid(url) {
|
|
32
|
-
return SkyValidation.isUrl(url);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
SkyUrlValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyUrlValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
36
|
-
SkyUrlValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: SkyUrlValidationDirective, selector: "[skyUrlValidation]", providers: [SKY_URL_VALIDATION_VALIDATOR], ngImport: i0 });
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyUrlValidationDirective, decorators: [{
|
|
38
|
-
type: Directive,
|
|
39
|
-
args: [{
|
|
40
|
-
selector: '[skyUrlValidation]',
|
|
41
|
-
providers: [SKY_URL_VALIDATION_VALIDATOR],
|
|
42
|
-
}]
|
|
43
|
-
}] });
|
|
44
|
-
//# sourceMappingURL=url-validation.directive.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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"]}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { FormsModule } from '@angular/forms';
|
|
3
|
-
import { SkyUrlValidationDirective } from './url-validation.directive';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class SkyUrlValidationModule {
|
|
6
|
-
}
|
|
7
|
-
SkyUrlValidationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyUrlValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
-
SkyUrlValidationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyUrlValidationModule, declarations: [SkyUrlValidationDirective], imports: [FormsModule], exports: [SkyUrlValidationDirective] });
|
|
9
|
-
SkyUrlValidationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyUrlValidationModule, imports: [[FormsModule]] });
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyUrlValidationModule, decorators: [{
|
|
11
|
-
type: NgModule,
|
|
12
|
-
args: [{
|
|
13
|
-
declarations: [SkyUrlValidationDirective],
|
|
14
|
-
imports: [FormsModule],
|
|
15
|
-
exports: [SkyUrlValidationDirective],
|
|
16
|
-
}]
|
|
17
|
-
}] });
|
|
18
|
-
//# sourceMappingURL=url-validation.module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"url-validation.module.js","sourceRoot":"","sources":["../../../../../../../../libs/components/validation/src/lib/modules/url-validation/url-validation.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;;AAOvE,MAAM,OAAO,sBAAsB;;oHAAtB,sBAAsB;qHAAtB,sBAAsB,iBAJlB,yBAAyB,aAC9B,WAAW,aACX,yBAAyB;qHAExB,sBAAsB,YAHxB,CAAC,WAAW,CAAC;4FAGX,sBAAsB;kBALlC,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,yBAAyB,CAAC;oBACzC,OAAO,EAAE,CAAC,WAAW,CAAC;oBACtB,OAAO,EAAE,CAAC,yBAAyB,CAAC;iBACrC","sourcesContent":["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"]}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export class SkyValidation {
|
|
2
|
-
static isEmail(emailAddress) {
|
|
3
|
-
// The regex was obtained from http://emailregex.com/
|
|
4
|
-
// which claims to correctly handle ~99% of all email addresses.
|
|
5
|
-
// tslint:disable-next-line:max-line-length
|
|
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
|
-
return regex.test(emailAddress);
|
|
8
|
-
}
|
|
9
|
-
static isUrl(url) {
|
|
10
|
-
const regex = /^((http|https):\/\/)?([\w-]+\.)+[\w-]+/i;
|
|
11
|
-
return regex.test(url);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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"]}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { SkyValidation } from '../validation/validation';
|
|
2
|
-
// Need to add the following to classes which contain static methods.
|
|
3
|
-
// See: https://github.com/ng-packagr/ng-packagr/issues/641
|
|
4
|
-
// @dynamic
|
|
5
|
-
export class SkyValidators {
|
|
6
|
-
/**
|
|
7
|
-
* Validates email addresses in reactive forms. Add this validator directly to the form control
|
|
8
|
-
* model in the component class. If users enter values that are not valid email addresses, the
|
|
9
|
-
* validator throws an error. Since this is a sync validator, it returns a set of validation
|
|
10
|
-
* errors or `undefined` immediately when users enter values.
|
|
11
|
-
* @param control
|
|
12
|
-
*/
|
|
13
|
-
static email(control) {
|
|
14
|
-
const value = control.value;
|
|
15
|
-
if (!value) {
|
|
16
|
-
return undefined;
|
|
17
|
-
}
|
|
18
|
-
return SkyValidation.isEmail(value)
|
|
19
|
-
? undefined
|
|
20
|
-
: { skyEmail: { invalid: value } };
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Validates URLs in reactive forms. Add this validator directly to the form control model in
|
|
24
|
-
* the component class. If users enter values that are not valid URLs, the validator throws an
|
|
25
|
-
* error. Since this is a sync validator, it returns a set of validation errors or `undefined`
|
|
26
|
-
* immediately when users enter values.
|
|
27
|
-
* @param control
|
|
28
|
-
*/
|
|
29
|
-
static url(control) {
|
|
30
|
-
const value = control.value;
|
|
31
|
-
if (!value) {
|
|
32
|
-
return undefined;
|
|
33
|
-
}
|
|
34
|
-
return SkyValidation.isUrl(value)
|
|
35
|
-
? undefined
|
|
36
|
-
: { skyUrl: { invalid: value } };
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=validators.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../../../../../../libs/components/validation/src/lib/modules/validators/validators.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,qEAAqE;AACrE,2DAA2D;AAC3D,WAAW;AACX,MAAM,OAAO,aAAa;IACxB;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,OAAwB;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAE5B,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC;YACjC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;IACvC,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,GAAG,CAAC,OAAwB;QACxC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAE5B,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;YAC/B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;IACrC,CAAC;CACF","sourcesContent":["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"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-validation.js","sourceRoot":"","sources":["../../../../../libs/components/validation/src/skyux-validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC","sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
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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"}
|