diff options
author | Chocobozzz <me@florianbigard.com> | 2020-08-17 11:47:04 +0200 |
---|---|---|
committer | Chocobozzz <chocobozzz@cpy.re> | 2020-08-17 15:12:55 +0200 |
commit | 7ed1edbbe4ffbef28093e4f5630751cb652814e4 (patch) | |
tree | 831862165dbfce593447a517c2294a7a4c28d840 /client/src/app/shared/shared-forms/form-validators/video-validators.service.ts | |
parent | 1a95f0b9627f8016767a5a386620cbc3335d5f93 (diff) | |
download | PeerTube-7ed1edbbe4ffbef28093e4f5630751cb652814e4.tar.gz PeerTube-7ed1edbbe4ffbef28093e4f5630751cb652814e4.tar.zst PeerTube-7ed1edbbe4ffbef28093e4f5630751cb652814e4.zip |
We don't need services anymore for validators
Diffstat (limited to 'client/src/app/shared/shared-forms/form-validators/video-validators.service.ts')
-rw-r--r-- | client/src/app/shared/shared-forms/form-validators/video-validators.service.ts | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/client/src/app/shared/shared-forms/form-validators/video-validators.service.ts b/client/src/app/shared/shared-forms/form-validators/video-validators.service.ts deleted file mode 100644 index 8119c1ae7..000000000 --- a/client/src/app/shared/shared-forms/form-validators/video-validators.service.ts +++ /dev/null | |||
@@ -1,122 +0,0 @@ | |||
1 | import { Injectable } from '@angular/core' | ||
2 | import { AbstractControl, ValidationErrors, ValidatorFn, Validators } from '@angular/forms' | ||
3 | import { BuildFormValidator } from './form-validator.service' | ||
4 | |||
5 | @Injectable() | ||
6 | export class VideoValidatorsService { | ||
7 | readonly VIDEO_NAME: BuildFormValidator | ||
8 | readonly VIDEO_PRIVACY: BuildFormValidator | ||
9 | readonly VIDEO_CATEGORY: BuildFormValidator | ||
10 | readonly VIDEO_LICENCE: BuildFormValidator | ||
11 | readonly VIDEO_LANGUAGE: BuildFormValidator | ||
12 | readonly VIDEO_IMAGE: BuildFormValidator | ||
13 | readonly VIDEO_CHANNEL: BuildFormValidator | ||
14 | readonly VIDEO_DESCRIPTION: BuildFormValidator | ||
15 | readonly VIDEO_TAGS_ARRAY: BuildFormValidator | ||
16 | readonly VIDEO_TAG: BuildFormValidator | ||
17 | readonly VIDEO_SUPPORT: BuildFormValidator | ||
18 | readonly VIDEO_SCHEDULE_PUBLICATION_AT: BuildFormValidator | ||
19 | readonly VIDEO_ORIGINALLY_PUBLISHED_AT: BuildFormValidator | ||
20 | |||
21 | constructor () { | ||
22 | |||
23 | this.VIDEO_NAME = { | ||
24 | VALIDATORS: [ Validators.required, Validators.minLength(3), Validators.maxLength(120) ], | ||
25 | MESSAGES: { | ||
26 | 'required': $localize`Video name is required.`, | ||
27 | 'minlength': $localize`Video name must be at least 3 characters long.`, | ||
28 | 'maxlength': $localize`Video name cannot be more than 120 characters long.` | ||
29 | } | ||
30 | } | ||
31 | |||
32 | this.VIDEO_PRIVACY = { | ||
33 | VALIDATORS: [ Validators.required ], | ||
34 | MESSAGES: { | ||
35 | 'required': $localize`Video privacy is required.` | ||
36 | } | ||
37 | } | ||
38 | |||
39 | this.VIDEO_CATEGORY = { | ||
40 | VALIDATORS: [ ], | ||
41 | MESSAGES: {} | ||
42 | } | ||
43 | |||
44 | this.VIDEO_LICENCE = { | ||
45 | VALIDATORS: [ ], | ||
46 | MESSAGES: {} | ||
47 | } | ||
48 | |||
49 | this.VIDEO_LANGUAGE = { | ||
50 | VALIDATORS: [ ], | ||
51 | MESSAGES: {} | ||
52 | } | ||
53 | |||
54 | this.VIDEO_IMAGE = { | ||
55 | VALIDATORS: [ ], | ||
56 | MESSAGES: {} | ||
57 | } | ||
58 | |||
59 | this.VIDEO_CHANNEL = { | ||
60 | VALIDATORS: [ Validators.required ], | ||
61 | MESSAGES: { | ||
62 | 'required': $localize`Video channel is required.` | ||
63 | } | ||
64 | } | ||
65 | |||
66 | this.VIDEO_DESCRIPTION = { | ||
67 | VALIDATORS: [ Validators.minLength(3), Validators.maxLength(10000) ], | ||
68 | MESSAGES: { | ||
69 | 'minlength': $localize`Video description must be at least 3 characters long.`, | ||
70 | 'maxlength': $localize`Video description cannot be more than 10000 characters long.` | ||
71 | } | ||
72 | } | ||
73 | |||
74 | this.VIDEO_TAG = { | ||
75 | VALIDATORS: [ Validators.minLength(2), Validators.maxLength(30) ], | ||
76 | MESSAGES: { | ||
77 | 'minlength': $localize`A tag should be more than 2 characters long.`, | ||
78 | 'maxlength': $localize`A tag should be less than 30 characters long.` | ||
79 | } | ||
80 | } | ||
81 | |||
82 | this.VIDEO_TAGS_ARRAY = { | ||
83 | VALIDATORS: [ Validators.maxLength(5), this.arrayTagLengthValidator() ], | ||
84 | MESSAGES: { | ||
85 | 'maxlength': $localize`A maximum of 5 tags can be used on a video.`, | ||
86 | 'arrayTagLength': $localize`A tag should be more than 2, and less than 30 characters long.` | ||
87 | } | ||
88 | } | ||
89 | |||
90 | this.VIDEO_SUPPORT = { | ||
91 | VALIDATORS: [ Validators.minLength(3), Validators.maxLength(1000) ], | ||
92 | MESSAGES: { | ||
93 | 'minlength': $localize`Video support must be at least 3 characters long.`, | ||
94 | 'maxlength': $localize`Video support cannot be more than 1000 characters long.` | ||
95 | } | ||
96 | } | ||
97 | |||
98 | this.VIDEO_SCHEDULE_PUBLICATION_AT = { | ||
99 | VALIDATORS: [ ], | ||
100 | MESSAGES: { | ||
101 | 'required': $localize`A date is required to schedule video update.` | ||
102 | } | ||
103 | } | ||
104 | |||
105 | this.VIDEO_ORIGINALLY_PUBLISHED_AT = { | ||
106 | VALIDATORS: [ ], | ||
107 | MESSAGES: {} | ||
108 | } | ||
109 | } | ||
110 | |||
111 | arrayTagLengthValidator (min = 2, max = 30): ValidatorFn { | ||
112 | return (control: AbstractControl): ValidationErrors => { | ||
113 | const array = control.value as Array<string> | ||
114 | |||
115 | if (array.every(e => e.length > min && e.length < max)) { | ||
116 | return null | ||
117 | } | ||
118 | |||
119 | return { 'arrayTagLength': true } | ||
120 | } | ||
121 | } | ||
122 | } | ||