From d8277a49cbec34eb1c6ae68e8c0f838c8c6f9ea0 Mon Sep 17 00:00:00 2001 From: jiangpch Date: Fri, 4 Aug 2017 04:16:18 -0400 Subject: [PATCH] Fix bug for the switchable fields Currently when a field switch to hidden, its required verification doesn't get purged, this prevents form to be submitted. Closes-bug: #1708601 Change-Id: I515ff048635f60610260ddfc076030e58724bf29 (cherry picked from commit 678bb6432436a64fce457c3ae113ed6cf8c98cb3) --- horizon/static/horizon/js/horizon.forms.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/horizon/static/horizon/js/horizon.forms.js b/horizon/static/horizon/js/horizon.forms.js index 2e38906262..253275e036 100644 --- a/horizon/static/horizon/js/horizon.forms.js +++ b/horizon/static/horizon/js/horizon.forms.js @@ -507,12 +507,21 @@ horizon.addInitFunction(horizon.forms.init = function () { if (typeof data === "undefined" || !visible) { $input.closest('.form-group').hide(); + //The required verification should be removed and recorded + if ($input.attr('required') === 'required') { + $input.data('savedRequired', 'required'); + $input.removeAttr('required'); + } } else { //If the input is a checkbox no need to replace html for label since it has another structure if($input.attr('type') !== "checkbox"){ $('label[for=' + $input.attr('id') + ']').html(data); } $input.closest('.form-group').show(); + //Add the required verification if it is required + if ($input.data('savedRequired') === 'required') { + $input.attr("required", "required"); + } } }