From: Nizamudeen A Date: Fri, 25 Jun 2021 13:30:42 +0000 (+0530) Subject: mgr/dashboard: Fix bucket name input allows space in the value X-Git-Tag: v16.2.5~11^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ecf349811425008977c6b5ec5a30fbf7a292a3ef;p=ceph.git mgr/dashboard: Fix bucket name input allows space in the value Fixes: https://tracker.ceph.com/issues/51368 Signed-off-by: Nizamudeen A (cherry picked from commit 2e94611a65c26f1db79d535f2a32e8bc747ecdd7) --- diff --git a/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-form/rgw-bucket-form.component.spec.ts b/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-form/rgw-bucket-form.component.spec.ts index 72a37309c4eb..a2d8854adc87 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-form/rgw-bucket-form.component.spec.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-form/rgw-bucket-form.component.spec.ts @@ -136,6 +136,10 @@ describe('RgwBucketFormComponent', () => { testValidator('bucket-name-is-unique', true); })); + it('bucket names must not contain spaces', fakeAsync(() => { + testValidator('bucket name with spaces', false, 'onlyLowerCaseAndNumbers'); + })); + it('should get zonegroup and placement targets', () => { const payload: Record = { zonegroup: 'default', diff --git a/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-form/rgw-bucket-form.component.ts b/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-form/rgw-bucket-form.component.ts index 07160445206d..80ff2c8538a5 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-form/rgw-bucket-form.component.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-form/rgw-bucket-form.component.ts @@ -282,7 +282,7 @@ export class RgwBucketFormComponent extends CdForm implements OnInit { return false; } // Bucket names can contain lowercase letters, numbers, and hyphens. - if (!/[0-9a-z-]/.test(label)) { + if (!/^\S*$/.test(name) || !/[0-9a-z-]/.test(label)) { errorName = 'onlyLowerCaseAndNumbers'; return false; }