From 473665dfeb9237b36153912adcea9adf620d4898 Mon Sep 17 00:00:00 2001 From: Volha Mardvilka Date: Mon, 28 Apr 2025 09:43:20 +0000 Subject: [PATCH 1/2] 413365465: (fix) [v2.2.1] add validation to disallow forward slashes or other illegal chars in manufacturer and model fields --- .../devices/components/device-form/device.validators.ts | 6 ++---- .../device-qualification-from.component.spec.ts | 8 ++++++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/modules/ui/src/app/pages/devices/components/device-form/device.validators.ts b/modules/ui/src/app/pages/devices/components/device-form/device.validators.ts index 8ef530bad..ceb49f8a2 100644 --- a/modules/ui/src/app/pages/devices/components/device-form/device.validators.ts +++ b/modules/ui/src/app/pages/devices/components/device-form/device.validators.ts @@ -22,11 +22,9 @@ import { Device } from '../../../../model/device'; * Validator uses for Device Name and Device Manufacturer inputs */ export class DeviceValidators { - static readonly STRING_FORMAT_MAX_LENGTH = 28; + // Not allowed symbols: <>?/:;@'"][=^!\#$%&*+{}|() readonly STRING_FORMAT_REGEXP = new RegExp( - "^([a-z0-9\\p{L}\\p{M}.',-_ ]{1," + - DeviceValidators.STRING_FORMAT_MAX_LENGTH + - '})$', + '^([^<>?:;@\'\\\\"\\[\\]=^!/,.#$%&*+{}|()]{1,28})$', 'u' ); diff --git a/modules/ui/src/app/pages/devices/components/device-qualification-from/device-qualification-from.component.spec.ts b/modules/ui/src/app/pages/devices/components/device-qualification-from/device-qualification-from.component.spec.ts index c366aec23..51b0c56a6 100644 --- a/modules/ui/src/app/pages/devices/components/device-qualification-from/device-qualification-from.component.spec.ts +++ b/modules/ui/src/app/pages/devices/components/device-qualification-from/device-qualification-from.component.spec.ts @@ -227,6 +227,10 @@ describe('DeviceQualificationFromComponent', () => { [ '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[', + ':test', ].forEach(value => { const model: HTMLInputElement = compiled.querySelector( '.device-qualification-form-model' @@ -273,6 +277,10 @@ describe('DeviceQualificationFromComponent', () => { [ '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[', + ':test', ].forEach(value => { const manufacturer: HTMLInputElement = compiled.querySelector( '.device-qualification-form-manufacturer' From cc3191537a76eee771875ba3790ddb5e8f5d8ea6 Mon Sep 17 00:00:00 2001 From: Volha Mardvilka Date: Mon, 28 Apr 2025 09:56:32 +0000 Subject: [PATCH 2/2] fix error --- .../pages/devices/components/device-form/device.validators.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/ui/src/app/pages/devices/components/device-form/device.validators.ts b/modules/ui/src/app/pages/devices/components/device-form/device.validators.ts index ceb49f8a2..cb882743b 100644 --- a/modules/ui/src/app/pages/devices/components/device-form/device.validators.ts +++ b/modules/ui/src/app/pages/devices/components/device-form/device.validators.ts @@ -22,6 +22,8 @@ import { Device } from '../../../../model/device'; * Validator uses for Device Name and Device Manufacturer inputs */ export class DeviceValidators { + static readonly STRING_FORMAT_MAX_LENGTH = 28; + // Not allowed symbols: <>?/:;@'"][=^!\#$%&*+{}|() readonly STRING_FORMAT_REGEXP = new RegExp( '^([^<>?:;@\'\\\\"\\[\\]=^!/,.#$%&*+{}|()]{1,28})$',