From a91c6a4c9072ff238f5d7f0b71693fe95775c97e Mon Sep 17 00:00:00 2001 From: gaazzopa Date: Mon, 7 Dec 2020 22:59:30 +0100 Subject: [PATCH] Restructured form validation --- cara/apps/calculator/static/js/form.js | 44 ++++++++++++-------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/cara/apps/calculator/static/js/form.js b/cara/apps/calculator/static/js/form.js index 7d6c2392..1b6a48c8 100644 --- a/cara/apps/calculator/static/js/form.js +++ b/cara/apps/calculator/static/js/form.js @@ -285,31 +285,16 @@ $("[data-has-radio]").on('change', function(event){ function validate_form(form) { var submit = true; - //Validate all non zero values - $("input[required].non_zero").each(function() { - if (!validateValue(this)) { + // Activity times and lunch break times are co-dependent + // -> So if 1 fails it doesn't make sense to check the rest + + //Validate all finish times + $("input[required].finish_time").each(function() { + if (!validateFinishTime(this)) { submit = false; } }); - //Validate all dates - if (submit) { - $("input[required].datepicker").each(function() { - if (!validateDate(this)) { - submit = false; - } - }); - } - - //Validate all times - if (submit) { - $("input[required].finish_time").each(function() { - if (!validateFinishTime(this)) { - submit = false; - } - }); - } - //Validate all lunch breaks if (submit) { $("input[required].lunch").each(function() { @@ -345,9 +330,22 @@ function validate_form(form) { } } - //Validate window venting duration < venting frequency - if (submit && !$("#windows_duration").hasClass("disabled")) { + //Validate all non zero values + $("input[required].non_zero").each(function() { + if (!validateValue(this)) { + submit = false; + } + }); + //Validate all dates + $("input[required].datepicker").each(function() { + if (!validateDate(this)) { + submit = false; + } + }); + + //Validate window venting duration < venting frequency + if (!$("#windows_duration").hasClass("disabled")) { var windowsDurationObj = document.getElementById("windows_duration"); var windowsFrequencyObj = document.getElementById("windows_frequency"); removeErrorFor(windowsFrequencyObj);