From 92728c41004645ffef9cdde2908032a1fddddf78 Mon Sep 17 00:00:00 2001 From: Bruno Alves de Faria Date: Fri, 9 Sep 2016 08:50:53 -0300 Subject: [PATCH] LT-67: Re-validating fields on change only if the form validation has already been called --- Packages/ohif-core/client/components/base/mixins/form.js | 6 ++++++ .../ohif-core/client/components/base/mixins/formItem.js | 7 +++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Packages/ohif-core/client/components/base/mixins/form.js b/Packages/ohif-core/client/components/base/mixins/form.js index ab9bfbeb0..77ac0edfb 100644 --- a/Packages/ohif-core/client/components/base/mixins/form.js +++ b/Packages/ohif-core/client/components/base/mixins/form.js @@ -17,6 +17,9 @@ OHIF.mixins.form = new OHIF.Mixin({ // Set the form identifier flag component.isForm = true; + // Set the form validated flag + component.isValidatedAlready = false; + component.validationObserver = new Tracker.Dependency(); // Reset the pathKey @@ -34,6 +37,9 @@ OHIF.mixins.form = new OHIF.Mixin({ // Call the original validation function validateSelf(); + // Change the form validated flag to true + component.isValidatedAlready = true; + // Focus the first error field if some validation failed if (component.schema && component.schema._invalidKeys.length) { instance.$('.state-error :input:first').focus(); diff --git a/Packages/ohif-core/client/components/base/mixins/formItem.js b/Packages/ohif-core/client/components/base/mixins/formItem.js index 88b7c4ae8..41632c4b4 100644 --- a/Packages/ohif-core/client/components/base/mixins/formItem.js +++ b/Packages/ohif-core/client/components/base/mixins/formItem.js @@ -235,8 +235,11 @@ OHIF.mixins.formItem = new OHIF.Mixin({ // Enable reactivity by changing a Tracker.Dependency observer component.changeObserver.changed(); - // Revalidate the component - component.validate(); + const form = component.getForm(); + if (form && form.isValidatedAlready) { + // Revalidate the component if form is already validated + component.validate(); + } } },