From 4abe9c593aab52391e4cb9e3a578ed46a479934d Mon Sep 17 00:00:00 2001 From: kimsible Date: Mon, 27 Jul 2020 00:01:15 +0200 Subject: Add validator channel name --- .../app/+admin/users/user-edit/user-create.component.ts | 2 +- .../form-validators/user-validators.service.ts | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/client/src/app/+admin/users/user-edit/user-create.component.ts b/client/src/app/+admin/users/user-edit/user-create.component.ts index fc4013a04..3fddb9c09 100644 --- a/client/src/app/+admin/users/user-edit/user-create.component.ts +++ b/client/src/app/+admin/users/user-edit/user-create.component.ts @@ -44,7 +44,7 @@ export class UserCreateComponent extends UserEdit implements OnInit { this.buildForm({ username: this.userValidatorsService.USER_USERNAME, - channelName: this.userValidatorsService.USER_USERNAME, + channelName: this.userValidatorsService.USER_CHANNEL_NAME, email: this.userValidatorsService.USER_EMAIL, password: this.isPasswordOptional() ? this.userValidatorsService.USER_PASSWORD_OPTIONAL : this.userValidatorsService.USER_PASSWORD, role: this.userValidatorsService.USER_ROLE, diff --git a/client/src/app/shared/shared-forms/form-validators/user-validators.service.ts b/client/src/app/shared/shared-forms/form-validators/user-validators.service.ts index bd3030a54..61486bbab 100644 --- a/client/src/app/shared/shared-forms/form-validators/user-validators.service.ts +++ b/client/src/app/shared/shared-forms/form-validators/user-validators.service.ts @@ -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: { -- cgit v1.2.3