From c204aaabae35e3b192caddacb82cd65e3d016d1f Mon Sep 17 00:00:00 2001 From: Dieter Stinglhamber Date: Mon, 18 Oct 2021 09:15:54 +0200 Subject: [PATCH] update error messages and validation rules --- .../pages/ApiTokens/CreateView/index.js | 41 ++++++++++++++----- .../ApiTokens/CreateView/utils/schema.js | 1 + 2 files changed, 32 insertions(+), 10 deletions(-) diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/CreateView/index.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/CreateView/index.js index 71a918d069..93930dd159 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/CreateView/index.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/CreateView/index.js @@ -54,15 +54,9 @@ const ApiTokenCreateView = () => { message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }), }); } catch (err) { - // FIXME when API errors are ready const errors = formatAPIErrors(err.response.data); - const fieldsErrors = Object.keys(errors).reduce((acc, current) => { - acc[current] = errors[current].id; + actions.setErrors(errors); - return acc; - }, {}); - - actions.setErrors(fieldsErrors); toggleNotification({ type: 'warning', message: get(err, 'response.data.message', 'notification.error'), @@ -182,7 +176,15 @@ const ApiTokenCreateView = () => { { defaultMessage: 'Description', })} name="description" - error={errors.description && formatMessage({ id: errors.description })} + error={ + errors.description + ? formatMessage( + errors.description?.id + ? errors.description + : { + id: errors.description, + defaultMessage: errors.description, + } + ) + : null + } onChange={handleChange} > {values.description} @@ -212,7 +225,15 @@ const ApiTokenCreateView = () => { defaultMessage: 'Token type', })} value={values.type} - error={errors.type && formatMessage({ id: errors.type })} + error={ + errors.type + ? formatMessage( + errors.type?.id + ? errors.type + : { id: errors.type, defaultMessage: errors.type } + ) + : null + } onChange={value => { handleChange({ target: { name: 'type', value } }); }} diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/CreateView/utils/schema.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/CreateView/utils/schema.js index bb61b2569e..db071a5075 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/CreateView/utils/schema.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/CreateView/utils/schema.js @@ -7,6 +7,7 @@ const schema = yup.object().shape({ .string(translatedErrors.string) .oneOf(['read-only', 'full-access']) .required(translatedErrors.required), + description: yup.string().nullable(), }); export default schema;