diff --git a/app/services/views.py b/app/services/views.py index 1605f666..d8492544 100644 --- a/app/services/views.py +++ b/app/services/views.py @@ -31,7 +31,7 @@ def service(service): if service == 'corpus_analysis': return render_template('services/{}.html.j2'.format(service), title=SERVICES[service]['name']) - add_job_form = SERVICES[service]['add_job_form']() + add_job_form = SERVICES[service]['add_job_form'](prefix='add-job-form') if add_job_form.is_submitted(): if not add_job_form.validate(): return make_response(add_job_form.errors, 400) diff --git a/app/static/js/nopaque.js b/app/static/js/nopaque.js index fb87044d..629a4434 100644 --- a/app/static/js/nopaque.js +++ b/app/static/js/nopaque.js @@ -21,10 +21,23 @@ nopaque.foreignJobsSubscribers = []; // nopaque functions nopaque.forms = {}; nopaque.forms.init = function() { - var abortRequestElement, progressElement, progressModal, - progressModalElement, request; + var abortRequestElement, parentElement, progressElement, progressModal, + progressModalElement, request, submitElement; for (let form of document.querySelectorAll(".nopaque-job-form")) { + submitElement = form.querySelector('button[type="submit"]'); + submitElement.addEventListener("click", function() { + for (let selectElement of form.querySelectorAll('select')) { + if (selectElement.value === "") { + parentElement = selectElement.closest(".input-field"); + for (let helperTextElement of parentElement.querySelectorAll(".helper-text")) { + helperTextElement.remove(); + } + parentElement.insertAdjacentHTML("beforeend", `Please select an option.`); + } + } + }) + request = new XMLHttpRequest(); if (form.dataset.hasOwnProperty("progressModal")) { progressModalElement = document.getElementById(form.dataset.progressModal); diff --git a/app/templates/services/ocr.html.j2 b/app/templates/services/ocr.html.j2 index 43910b4c..bbc6a017 100644 --- a/app/templates/services/ocr.html.j2 +++ b/app/templates/services/ocr.html.j2 @@ -185,7 +185,7 @@
- +