X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fshared%2Fform-validators%2Fvideo-channel-validators.ts;h=b12b3caafb9ac53b213db37e0b2be041fa3b6cc2;hb=cb0eda5602a21d1626a7face32de6153ed07b5f9;hp=0daab22ce69e99424cccc50130ba0914f665bf66;hpb=7ed1edbbe4ffbef28093e4f5630751cb652814e4;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/shared/form-validators/video-channel-validators.ts b/client/src/app/shared/form-validators/video-channel-validators.ts index 0daab22ce..b12b3caaf 100644 --- a/client/src/app/shared/form-validators/video-channel-validators.ts +++ b/client/src/app/shared/form-validators/video-channel-validators.ts @@ -1,18 +1,16 @@ import { Validators } from '@angular/forms' import { BuildFormValidator } from './form-validator.model' +import { USER_USERNAME_VALIDATOR } from './user-validators' export const VIDEO_CHANNEL_NAME_VALIDATOR: BuildFormValidator = { - VALIDATORS: [ - Validators.required, - Validators.minLength(1), - Validators.maxLength(50), - Validators.pattern(/^[a-z0-9][a-z0-9._]*$/) - ], + // Use the same constraints than user usernmae + VALIDATORS: USER_USERNAME_VALIDATOR.VALIDATORS, + MESSAGES: { - 'required': $localize`Name is required.`, - 'minlength': $localize`Name must be at least 1 character long.`, - 'maxlength': $localize`Name cannot be more than 50 characters long.`, - 'pattern': $localize`Name should be lowercase alphanumeric; dots and underscores are allowed.` + required: $localize`Name is required.`, + minlength: $localize`Name must be at least 1 character long.`, + maxlength: $localize`Name cannot be more than 50 characters long.`, + pattern: $localize`Name should be lowercase alphanumeric; dots and underscores are allowed.` } } @@ -23,9 +21,9 @@ export const VIDEO_CHANNEL_DISPLAY_NAME_VALIDATOR: BuildFormValidator = { Validators.maxLength(50) ], MESSAGES: { - 'required': $localize`Display name is required.`, - 'minlength': $localize`Display name must be at least 1 character long.`, - 'maxlength': $localize`Display name cannot be more than 50 characters long.` + required: $localize`Display name is required.`, + minlength: $localize`Display name must be at least 1 character long.`, + maxlength: $localize`Display name cannot be more than 50 characters long.` } } @@ -35,8 +33,8 @@ export const VIDEO_CHANNEL_DESCRIPTION_VALIDATOR: BuildFormValidator = { Validators.maxLength(1000) ], MESSAGES: { - 'minlength': $localize`Description must be at least 3 characters long.`, - 'maxlength': $localize`Description cannot be more than 1000 characters long.` + minlength: $localize`Description must be at least 3 characters long.`, + maxlength: $localize`Description cannot be more than 1000 characters long.` } } @@ -46,7 +44,20 @@ export const VIDEO_CHANNEL_SUPPORT_VALIDATOR: BuildFormValidator = { Validators.maxLength(1000) ], MESSAGES: { - 'minlength': $localize`Support text must be at least 3 characters long.`, - 'maxlength': $localize`Support text cannot be more than 1000 characters long` + minlength: $localize`Support text must be at least 3 characters long.`, + maxlength: $localize`Support text cannot be more than 1000 characters long.` + } +} + +export const VIDEO_CHANNEL_EXTERNAL_URL_VALIDATOR: BuildFormValidator = { + VALIDATORS: [ + Validators.required, + Validators.pattern(/^https?:\/\//), + Validators.maxLength(1000) + ], + MESSAGES: { + required: $localize`Remote channel url is required.`, + pattern: $localize`External channel URL must begin with "https://" or "http://"`, + maxlength: $localize`External channel URL cannot be more than 1000 characters long` } }