From c3383c63b19b82de62ca320c9e881b55fe015e78 Mon Sep 17 00:00:00 2001 From: Gustav Hansen Date: Tue, 29 Mar 2022 16:02:56 +0200 Subject: [PATCH] RepeatableComponent: Simplify error handling and fix all nesting levels --- .../utils/getComponentErrorKeys.js | 16 ++++++---------- .../utils/tests/getComponentErrorKeys.test.js | 2 +- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/utils/getComponentErrorKeys.js b/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/utils/getComponentErrorKeys.js index 4bcfe9aeef..d12c3e8eb3 100644 --- a/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/utils/getComponentErrorKeys.js +++ b/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/utils/getComponentErrorKeys.js @@ -1,14 +1,10 @@ -import take from 'lodash/take'; - -export default function getComponentErrorKeys(name, formErrors, isNested = false) { +export default function getComponentErrorKeys(name, formErrors) { return Object.keys(formErrors) - .filter((errorKey) => { - return take(errorKey.split('.'), isNested ? 2 : 1).join('.') === name; - }) - .map((errorKey) => { - return errorKey + .filter(errorKey => errorKey.startsWith(name)) + .map(errorKey => + errorKey .split('.') .slice(0, name.split('.').length + 1) - .join('.'); - }); + .join('.') + ); } diff --git a/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/utils/tests/getComponentErrorKeys.test.js b/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/utils/tests/getComponentErrorKeys.test.js index f667b7d319..d0dbdfddbe 100644 --- a/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/utils/tests/getComponentErrorKeys.test.js +++ b/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/utils/tests/getComponentErrorKeys.test.js @@ -19,7 +19,7 @@ describe('getComponentErrorKeys', () => { 'parent.child.1.field': 'validation-error', }; - expect(getComponentErrorKeys('parent.child', FIXTURE, true)).toStrictEqual([ + expect(getComponentErrorKeys('parent.child', FIXTURE)).toStrictEqual([ 'parent.child.0', 'parent.child.1', ]);