diff --git a/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/index.js b/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/index.js index 9461012263..aff6f07e39 100644 --- a/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/index.js +++ b/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/index.js @@ -518,7 +518,9 @@ const EditViewDataManagerProvider = ({ when={!isEqual(modifiedData, initialData)} message={formatMessage({ id: 'global.prompt.unsaved' })} /> -
{children}
+
+ {children} +
)} diff --git a/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/utils/schema.js b/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/utils/schema.js index f5d80b2f3f..32d707757c 100644 --- a/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/utils/schema.js +++ b/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/utils/schema.js @@ -300,7 +300,7 @@ const createYupSchemaAttribute = (type, validations, options) => { return !isEmpty(value); } - return !isEmpty(value.toString()); + return !isEmpty(value?.toString()); } return !isEmpty(value); diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/Users/utils/validations/users/edit.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/Users/utils/validations/users/edit.js index 773ea9760b..80db038e7c 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/Users/utils/validations/users/edit.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/Users/utils/validations/users/edit.js @@ -1,9 +1,9 @@ import * as yup from 'yup'; -import profileValidation from './profile'; +import { commonUserSchema } from './profile'; import rolesValidation from './roles'; const schema = yup.object().shape({ - ...profileValidation, + ...commonUserSchema, isActive: yup.bool(), ...rolesValidation, }); diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/Users/utils/validations/users/profile.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/Users/utils/validations/users/profile.js index d2e45c1436..71e288f0eb 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/Users/utils/validations/users/profile.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/Users/utils/validations/users/profile.js @@ -1,7 +1,7 @@ import * as yup from 'yup'; import { translatedErrors } from '@strapi/helper-plugin'; -const schema = { +export const commonUserSchema = { firstname: yup.mixed().required(translatedErrors.required), lastname: yup.mixed().required(translatedErrors.required), email: yup @@ -23,6 +23,10 @@ const schema = { .when('password', (password, passSchema) => { return password ? passSchema.required(translatedErrors.required) : passSchema; }), +}; + +const schema = { + ...commonUserSchema, currentPassword: yup .string() .when(['password', 'confirmPassword'], (password, confirmPassword, passSchema) => {