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)) + ); }); });