1
0
Fork 0

Fix titles do not trim leading and trailing spaces

This commit is contained in:
Ramiellll 2021-02-23 22:16:35 +01:00 committed by Chocobozzz
parent e072fb1e16
commit b58a894bc9

View file

@ -1,12 +1,22 @@
import { AbstractControl, ValidationErrors, ValidatorFn, Validators } from '@angular/forms' import { AbstractControl, ValidationErrors, ValidatorFn, Validators, FormControl } from '@angular/forms'
import { BuildFormValidator } from './form-validator.model' import { BuildFormValidator } from './form-validator.model'
export const trimValidator: ValidatorFn = (control: FormControl) => {
if (control.value.startsWith(' ') || control.value.endsWith(' ')) {
return {
'spaces': true
}
}
return null;
};
export const VIDEO_NAME_VALIDATOR: BuildFormValidator = { export const VIDEO_NAME_VALIDATOR: BuildFormValidator = {
VALIDATORS: [ Validators.required, Validators.minLength(3), Validators.maxLength(120) ], VALIDATORS: [ Validators.required, Validators.minLength(3), Validators.maxLength(120), trimValidator ],
MESSAGES: { MESSAGES: {
'required': $localize`Video name is required.`, 'required': $localize`Video name is required.`,
'minlength': $localize`Video name must be at least 3 characters long.`, 'minlength': $localize`Video name must be at least 3 characters long.`,
'maxlength': $localize`Video name cannot be more than 120 characters long.` 'maxlength': $localize`Video name cannot be more than 120 characters long.`,
'spaces': $localize`Video name has leading or trailing whitespace.`
} }
} }