diff --git a/modules/ui/src/app/pages/risk-assessment/profile-form/profile-form.component.spec.ts b/modules/ui/src/app/pages/risk-assessment/profile-form/profile-form.component.spec.ts index d279a1f14..12ae7457e 100644 --- a/modules/ui/src/app/pages/risk-assessment/profile-form/profile-form.component.spec.ts +++ b/modules/ui/src/app/pages/risk-assessment/profile-form/profile-form.component.spec.ts @@ -89,6 +89,9 @@ describe('ProfileFormComponent', () => { [ 'very long value very long value very long value very long value very long value very long value very long value', 'as&@3$', + 'test/', + 'test[', + ':test', ].forEach(value => { const name: HTMLInputElement = compiled.querySelector( '.form-name' diff --git a/modules/ui/src/app/pages/risk-assessment/profile-form/profile-form.component.ts b/modules/ui/src/app/pages/risk-assessment/profile-form/profile-form.component.ts index 2656221cd..cc6a18e8d 100644 --- a/modules/ui/src/app/pages/risk-assessment/profile-form/profile-form.component.ts +++ b/modules/ui/src/app/pages/risk-assessment/profile-form/profile-form.component.ts @@ -156,7 +156,7 @@ export class ProfileFormComponent implements OnInit, AfterViewInit { group['name'] = new FormControl('', [ this.profileValidators.textRequired(), - this.deviceValidators.deviceStringFormat(), + this.profileValidators.profileNameFormat(), this.nameValidator, ]); diff --git a/modules/ui/src/app/pages/risk-assessment/profile-form/profile.validators.ts b/modules/ui/src/app/pages/risk-assessment/profile-form/profile.validators.ts index 10280586d..d3847345d 100644 --- a/modules/ui/src/app/pages/risk-assessment/profile-form/profile.validators.ts +++ b/modules/ui/src/app/pages/risk-assessment/profile-form/profile.validators.ts @@ -31,6 +31,12 @@ export class ProfileValidators { readonly STRING_FORMAT_REGEXP = new RegExp('^[^"\\\\]*$', 'u'); + // Not allowed symbols: <>?/:;@'"][=^!\#$%&*+{}|() + readonly PROFILE_NAME_FORMAT_REGEXP = new RegExp( + '^([^<>?:;@\'\\\\"\\[\\]=^!/,.#$%&*+{}|()]{1,28})$', + 'u' + ); + public differentProfileName( profiles: Profile[], profile: Profile | null @@ -60,6 +66,10 @@ export class ProfileValidators { }; } + public profileNameFormat(): ValidatorFn { + return this.stringFormat(this.PROFILE_NAME_FORMAT_REGEXP); + } + public multiSelectRequired(g: FormGroup) { if (Object.values(g.value).every(value => value === false)) { return { required: true };