From dc2943c5eb0f0dfd019d7cbcb18dfea8c83c1951 Mon Sep 17 00:00:00 2001 From: James Date: Thu, 4 Jun 2020 19:54:32 -0400 Subject: [PATCH] only validates fields if they are not localized on backend --- src/client/components/views/collections/Edit/index.scss | 1 + src/fields/validateCreate.js | 2 +- src/fields/validations.js | 6 +++--- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/client/components/views/collections/Edit/index.scss b/src/client/components/views/collections/Edit/index.scss index f0ef04574f..1d57d7e3db 100644 --- a/src/client/components/views/collections/Edit/index.scss +++ b/src/client/components/views/collections/Edit/index.scss @@ -62,6 +62,7 @@ .form-submit { .btn { + width: 100%; padding-left: base(2); padding-right: base(2); } diff --git a/src/fields/validateCreate.js b/src/fields/validateCreate.js index 7fb19ccf9b..d4689465f8 100644 --- a/src/fields/validateCreate.js +++ b/src/fields/validateCreate.js @@ -23,7 +23,7 @@ exports.iterateFields = async (data, fields, path = '') => { const dataToValidate = data || {}; - if (field.required || requiresAtLeastOneSubfield) { + if ((field.required && !field.localized) || requiresAtLeastOneSubfield) { // If this field does not have a name, it is for // admin panel composition only and should not be // validated against directly diff --git a/src/fields/validations.js b/src/fields/validations.js index 736c8cdbb2..87587ae920 100644 --- a/src/fields/validations.js +++ b/src/fields/validations.js @@ -19,15 +19,15 @@ const optionsToValidatorMap = { return true; }, text: (value, options = {}) => { - if (options.maxLength && value.length > options.maxLength) { + if (options.maxLength && (value && value.length > options.maxLength)) { return `This value must be shorter than the max length of ${options.max} characters.`; } - if (options.minLength && value.length < options.minLength) { + if (options.minLength && (value && value.length < options.minLength)) { return `This value must be longer than the minimum length of ${options.max} characters.`; } - if (typeof value !== 'string' || value.length === 0) { + if (typeof value !== 'string' || (typeof value === 'string' && value.length === 0)) { return 'This field is required.'; }