]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/shared/shared-forms/form-validators/user-validators.service.ts
Update build steps for localization
[github/Chocobozzz/PeerTube.git] / client / src / app / shared / shared-forms / form-validators / user-validators.service.ts
index bd3030a5406a7db71a79cbc200073380e7a40224..61486bbab85540171e9021c3e286de9b51a2c7de 100644 (file)
@@ -6,6 +6,7 @@ import { Injectable } from '@angular/core'
 @Injectable()
 export class UserValidatorsService {
   readonly USER_USERNAME: BuildFormValidator
+  readonly USER_CHANNEL_NAME: BuildFormValidator
   readonly USER_EMAIL: BuildFormValidator
   readonly USER_PASSWORD: BuildFormValidator
   readonly USER_PASSWORD_OPTIONAL: BuildFormValidator
@@ -36,6 +37,21 @@ export class UserValidatorsService {
       }
     }
 
+    this.USER_CHANNEL_NAME = {
+      VALIDATORS: [
+        Validators.required,
+        Validators.minLength(1),
+        Validators.maxLength(50),
+        Validators.pattern(/^[a-z0-9][a-z0-9._]*$/)
+      ],
+      MESSAGES: {
+        'required': this.i18n('Channel name is required.'),
+        'minlength': this.i18n('Channel name must be at least 1 character long.'),
+        'maxlength': this.i18n('Channel name cannot be more than 50 characters long.'),
+        'pattern': this.i18n('Channel name should be lowercase alphanumeric; dots and underscores are allowed.')
+      }
+    }
+
     this.USER_EMAIL = {
       VALIDATORS: [ Validators.required, Validators.email ],
       MESSAGES: {