Fix some bugs (User edit & CM validations) (#11653)

Signed-off-by: HichamELBSI <elabbassih@gmail.com>
This commit is contained in:
ELABBASSI Hicham 2021-11-23 13:58:55 +01:00 committed by GitHub
parent 2c6ece8c5e
commit 6e86b526f1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 11 additions and 5 deletions

View File

@ -518,7 +518,9 @@ const EditViewDataManagerProvider = ({
when={!isEqual(modifiedData, initialData)} when={!isEqual(modifiedData, initialData)}
message={formatMessage({ id: 'global.prompt.unsaved' })} message={formatMessage({ id: 'global.prompt.unsaved' })}
/> />
<form onSubmit={handleSubmit}>{children}</form> <form noValidate onSubmit={handleSubmit}>
{children}
</form>
</> </>
)} )}
</> </>

View File

@ -300,7 +300,7 @@ const createYupSchemaAttribute = (type, validations, options) => {
return !isEmpty(value); return !isEmpty(value);
} }
return !isEmpty(value.toString()); return !isEmpty(value?.toString());
} }
return !isEmpty(value); return !isEmpty(value);

View File

@ -1,9 +1,9 @@
import * as yup from 'yup'; import * as yup from 'yup';
import profileValidation from './profile'; import { commonUserSchema } from './profile';
import rolesValidation from './roles'; import rolesValidation from './roles';
const schema = yup.object().shape({ const schema = yup.object().shape({
...profileValidation, ...commonUserSchema,
isActive: yup.bool(), isActive: yup.bool(),
...rolesValidation, ...rolesValidation,
}); });

View File

@ -1,7 +1,7 @@
import * as yup from 'yup'; import * as yup from 'yup';
import { translatedErrors } from '@strapi/helper-plugin'; import { translatedErrors } from '@strapi/helper-plugin';
const schema = { export const commonUserSchema = {
firstname: yup.mixed().required(translatedErrors.required), firstname: yup.mixed().required(translatedErrors.required),
lastname: yup.mixed().required(translatedErrors.required), lastname: yup.mixed().required(translatedErrors.required),
email: yup email: yup
@ -23,6 +23,10 @@ const schema = {
.when('password', (password, passSchema) => { .when('password', (password, passSchema) => {
return password ? passSchema.required(translatedErrors.required) : passSchema; return password ? passSchema.required(translatedErrors.required) : passSchema;
}), }),
};
const schema = {
...commonUserSchema,
currentPassword: yup currentPassword: yup
.string() .string()
.when(['password', 'confirmPassword'], (password, confirmPassword, passSchema) => { .when(['password', 'confirmPassword'], (password, confirmPassword, passSchema) => {