diff --git a/packages/strapi-plugin-setings-manager/admin/src/translations/en.json b/packages/strapi-plugin-setings-manager/admin/src/translations/en.json index 2219e07375..8425e443b7 100644 --- a/packages/strapi-plugin-setings-manager/admin/src/translations/en.json +++ b/packages/strapi-plugin-setings-manager/admin/src/translations/en.json @@ -48,6 +48,7 @@ "request.error.type.string": "A text is required.", "request.error.type.number": "A number is required.", "request.error.type.boolean": "A boolean is required.", + "request.error.type.select": "The value must be in predefined list.", "request.error.validation.required": "This value input is required.", "request.error.validation.regex": "The value not match the regex.", diff --git a/packages/strapi-plugin-setings-manager/admin/src/translations/fr.json b/packages/strapi-plugin-setings-manager/admin/src/translations/fr.json index 90e41e6a43..1533fff45d 100644 --- a/packages/strapi-plugin-setings-manager/admin/src/translations/fr.json +++ b/packages/strapi-plugin-setings-manager/admin/src/translations/fr.json @@ -48,6 +48,7 @@ "request.error.type.string": "Un texte est demandé.", "request.error.type.number": "Un nombre est demandé.", "request.error.type.boolean": "Un boolean est demandé.", + "request.error.type.select": "La valeur doit être dans la liste prédéfini.", "request.error.validation.required": "Ce champ est obligatoire.", "request.error.validation.regex": "La valeur ne correspond pas au format attendu.", diff --git a/packages/strapi-plugin-setings-manager/services/SettingsManager.js b/packages/strapi-plugin-setings-manager/services/SettingsManager.js index 8156289d31..7ca6d11376 100644 --- a/packages/strapi-plugin-setings-manager/services/SettingsManager.js +++ b/packages/strapi-plugin-setings-manager/services/SettingsManager.js @@ -285,7 +285,7 @@ module.exports = { paramsValidation: (params, items) => { let errors = []; - const checkType = (input, { type, target }) => { + const checkType = (input, { type, target, items }) => { if ((type === 'string' || type === 'text') && !_.isString(input)) errors.push({ target: target, message: 'request.error.type.string' @@ -300,6 +300,11 @@ module.exports = { target: target, message: 'request.error.type.boolean' }); + + if (type === 'select' && !_.find(items, { value: input })) errors.push({ + target: target, + message: 'request.error.type.select' + }); }; const checkValidations = (input, item) => {