From 11f0f1c314fd9a596c57638c8f7f715894fc41e9 Mon Sep 17 00:00:00 2001 From: kirrg001 Date: Mon, 10 Dec 2018 15:13:52 +0100 Subject: [PATCH] Fixed incorrect validation message for required values no issue - the message always showed: `Validation (FieldIsRequired) failed for key` --- core/server/api/shared/validators/input/all.js | 11 ++++++++--- .../test/unit/api/shared/validators/input/all_spec.js | 1 + 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/core/server/api/shared/validators/input/all.js b/core/server/api/shared/validators/input/all.js index 19771fbe9d..8ef12b5b5a 100644 --- a/core/server/api/shared/validators/input/all.js +++ b/core/server/api/shared/validators/input/all.js @@ -118,14 +118,19 @@ module.exports = { const jsonpath = require('jsonpath'); if (apiConfig.data) { - const missedDataProperties = _.filter(apiConfig.data, (value, key) => { - return jsonpath.query(frame.data[apiConfig.docName][0], key).length === 0; + const missedDataProperties = []; + + _.each(apiConfig.data, (value, key) => { + if (jsonpath.query(frame.data[apiConfig.docName][0], key).length === 0) { + missedDataProperties.push(key); + } }); if (missedDataProperties.length) { return Promise.reject(new common.errors.ValidationError({ message: common.i18n.t('notices.data.validation.index.validationFailed', { - validationName: 'FieldIsRequired' + validationName: 'FieldIsRequired', + key: JSON.stringify(missedDataProperties) }) })); } diff --git a/core/test/unit/api/shared/validators/input/all_spec.js b/core/test/unit/api/shared/validators/input/all_spec.js index 6ee33c2a62..7ed218dc72 100644 --- a/core/test/unit/api/shared/validators/input/all_spec.js +++ b/core/test/unit/api/shared/validators/input/all_spec.js @@ -328,6 +328,7 @@ describe('Unit: api/shared/validators/input/all', function () { .then(Promise.reject) .catch((err) => { should.exist(err); + err.message.should.eql('Validation (FieldIsRequired) failed for ["b"]'); }); });