diff --git a/packages/strapi-plugin-content-manager/admin/src/components/Inputs/index.js b/packages/strapi-plugin-content-manager/admin/src/components/Inputs/index.js
index 802dae5d11..8d6cc4f285 100644
--- a/packages/strapi-plugin-content-manager/admin/src/components/Inputs/index.js
+++ b/packages/strapi-plugin-content-manager/admin/src/components/Inputs/index.js
@@ -121,6 +121,29 @@ function Inputs({ autoFocus, keys, layout, name, onBlur }) {
step = '1';
}
+ const options = get(attribute, 'enum', []).map(v => {
+ return (
+
+ );
+ });
+
+ const isRequired = get(validations, ['required'], false);
+ const enumOptions = [
+
+ {msg => (
+
+ )}
+ ,
+ ...options,
+ ];
+
return (
{error => {
@@ -147,7 +170,7 @@ function Inputs({ autoFocus, keys, layout, name, onBlur }) {
name={keys}
onBlur={onBlur}
onChange={onChange}
- options={get(attribute, 'enum', [])}
+ options={enumOptions}
step={step}
type={getInputType(type)}
validations={validations}
diff --git a/packages/strapi-plugin-content-manager/admin/src/containers/EditViewDataManagerProvider/index.js b/packages/strapi-plugin-content-manager/admin/src/containers/EditViewDataManagerProvider/index.js
index 61a0439393..50b8eb79bf 100644
--- a/packages/strapi-plugin-content-manager/admin/src/containers/EditViewDataManagerProvider/index.js
+++ b/packages/strapi-plugin-content-manager/admin/src/containers/EditViewDataManagerProvider/index.js
@@ -196,7 +196,8 @@ const EditViewDataManagerProvider = ({
inputValue = null;
}
- if (type === 'biginteger' && value === '') {
+ // Allow to reset enum
+ if (type === 'select-one' && value === '') {
inputValue = null;
}
diff --git a/packages/strapi-plugin-content-type-builder/admin/src/containers/FormModal/utils/forms.js b/packages/strapi-plugin-content-type-builder/admin/src/containers/FormModal/utils/forms.js
index 1d3e4a0f61..71721f9045 100644
--- a/packages/strapi-plugin-content-type-builder/admin/src/containers/FormModal/utils/forms.js
+++ b/packages/strapi-plugin-content-type-builder/admin/src/containers/FormModal/utils/forms.js
@@ -42,7 +42,11 @@ yup.addMethod(yup.string, 'unique', function(
yup.addMethod(yup.array, 'hasNotEmptyValues', function(message) {
return this.test('hasNotEmptyValues', message, function(array) {
- return !array.some(value => isEmpty(value));
+ return (
+ !array.some(value => {
+ return isEmpty(value);
+ }) && array.every(value => ENUM_REGEX.test(value))
+ );
});
});