From 74783dd3a19d1dcffd7cd63f304005c0206031b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Robles?= Date: Thu, 8 Aug 2024 07:07:01 -0500 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9E=20Write-in=20issues=20(#459)=20(#4?= =?UTF-8?q?60)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Parent issue: https://github.com/sequentech/meta/issues/1670 --- avBooth/error-checker-generator-service.js | 19 ++++++++++--------- ...ltaneous-question-answer-v2-directive.html | 2 +- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/avBooth/error-checker-generator-service.js b/avBooth/error-checker-generator-service.js index 6ece34ad..70ece586 100644 --- a/avBooth/error-checker-generator-service.js +++ b/avBooth/error-checker-generator-service.js @@ -457,7 +457,7 @@ angular.module('avUi') return true; } - var foundField = question.answers + var foundFields = question.answers // only write-in questions .filter(function (answer) { return service.hasUrl(answer.urls, 'isWriteIn', 'true') && @@ -465,14 +465,15 @@ angular.module('avUi') _.isObject(answer.writeInFields); }) // get write-in fields - .map(function (answer) { return Object.values(answer.writeInFields); }) - .flat() - .find(function (field) { - // check field min restriction against value - return _.isString(field.value) && field.value.length < field.min; - }); - - return !foundField; + .map(function (answer) { + return Object.values(answer.writeInFields) + .find(function (field) { + // check field min restriction against value + return (_.isString(field.value) && field.value.length < field.min) || (answer.text && field.min && !field.value); + }); + }) + .filter(value => value); + return 0 === foundFields.length; }, postfix: "-writein-field-min-length" }, diff --git a/avBooth/simultaneous-question-answer-v2-directive/simultaneous-question-answer-v2-directive.html b/avBooth/simultaneous-question-answer-v2-directive/simultaneous-question-answer-v2-directive.html index bc5d2e30..2ad21993 100644 --- a/avBooth/simultaneous-question-answer-v2-directive/simultaneous-question-answer-v2-directive.html +++ b/avBooth/simultaneous-question-answer-v2-directive/simultaneous-question-answer-v2-directive.html @@ -106,7 +106,7 @@ type="text" ng-readonly="!!hideCheck()" class="form-control write-in-extra-field-input" - ng-class="{'invalid': (field.value && field.min && field.value.length < field.min) || (field.value && field.max && field.value.length > field.max)}" + ng-class="{'invalid': (answer.text && !field.value && field.min) || (field.value && field.min && field.value.length < field.min) || (field.value && field.max && field.value.length > field.max)}" autocomplete="off" id="question_{{question.index}}_answer_{{answer.id}}_{{field.id}}" placeholder="{{field | customI18n: 'placeholder'}}"