diff --git a/packages/strapi-plugin-content-type-builder/admin/src/components/InputCheckboxWithNestedInputs/index.js b/packages/strapi-plugin-content-type-builder/admin/src/components/InputCheckboxWithNestedInputs/index.js index 53ebd10be5..f532dcf33b 100644 --- a/packages/strapi-plugin-content-type-builder/admin/src/components/InputCheckboxWithNestedInputs/index.js +++ b/packages/strapi-plugin-content-type-builder/admin/src/components/InputCheckboxWithNestedInputs/index.js @@ -20,6 +20,17 @@ class InputCheckboxWithNestedInputs extends React.Component { // eslint-disable- }; this.props.handleChange({ target }); + + if (!target.value) { + const paramsToRemove = { + target: { + type: 'number', + value: '', + name: `${this.props.data.name}Value`, + }, + }; + this.props.handleChange(paramsToRemove); + } } diff --git a/packages/strapi-plugin-content-type-builder/admin/src/containers/Form/utils/attributeValidations.js b/packages/strapi-plugin-content-type-builder/admin/src/containers/Form/utils/attributeValidations.js index 84cb7cd146..637f94efb2 100644 --- a/packages/strapi-plugin-content-type-builder/admin/src/containers/Form/utils/attributeValidations.js +++ b/packages/strapi-plugin-content-type-builder/admin/src/containers/Form/utils/attributeValidations.js @@ -56,11 +56,11 @@ const hasNestedValue = (attributeData) => { } }); - if (get(attributeData.params, ['minValue']) > get(attributeData.params, 'maxValue')) { + if (isNumber(get(attributeData.params, 'maxValue')) && get(attributeData.params, ['minValue']) > get(attributeData.params, 'maxValue')) { formErrors.push({ name: 'params.minValue', errors: [{ id: 'content-type-builder.error.validation.minSupMax' } ] }); } - if (get(attributeData.params, ['minLengthValue']) > get(attributeData.params, 'maxLengthValue')) { + if (isNumber(get(attributeData.params, 'maxLengthValue')) && get(attributeData.params, ['minLengthValue']) > get(attributeData.params, 'maxLengthValue')) { formErrors.push({ name: 'params.minLengthValue', errors: [{ id: 'content-type-builder.error.validation.minSupMax' } ] }); } diff --git a/packages/strapi-plugin-content-type-builder/admin/src/containers/ModelPage/sagas.js b/packages/strapi-plugin-content-type-builder/admin/src/containers/ModelPage/sagas.js index 5c6b3f4d86..4026ce0863 100644 --- a/packages/strapi-plugin-content-type-builder/admin/src/containers/ModelPage/sagas.js +++ b/packages/strapi-plugin-content-type-builder/admin/src/containers/ModelPage/sagas.js @@ -51,7 +51,8 @@ export function* submitChanges(action) { } if (!value) { - unset(body.attributes[index].params, key); + const paramsKey = includes(key, 'Value') ? replace(key,'Value', '') : key; + unset(body.attributes[index].params, paramsKey); } }); });