From c55a9f3faa4ba331f049e83bcbe27ab968ec6d36 Mon Sep 17 00:00:00 2001 From: "Suresh, Kamlesh" Date: Tue, 10 Mar 2020 15:42:44 -0400 Subject: [PATCH] rules should be optional --- MVMCoreUI/FormUIHelpers/FormValidator.swift | 10 +++++++--- MVMCoreUI/Templates/TemplateProtocol.swift | 3 ++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/MVMCoreUI/FormUIHelpers/FormValidator.swift b/MVMCoreUI/FormUIHelpers/FormValidator.swift index daadf81f..b81804e8 100644 --- a/MVMCoreUI/FormUIHelpers/FormValidator.swift +++ b/MVMCoreUI/FormUIHelpers/FormValidator.swift @@ -13,13 +13,13 @@ import MVMCore static var defaultGroupName: String = "default" var extraValidationBlock: (() -> Bool)? - var formRules: [FormGroupRule] + var formRules: [FormGroupRule]? var delegate: FormHolderProtocol? var fieldMolecules: [String: FormFieldProtocol] = [:] var formActionMolecules: [FormActionFieldProtocol] = [] var radioButtonsModelByGroup: [String: RadioButtonSelectionHelper] = [:] - public init(_ formRules: [FormGroupRule]) { + public init(_ formRules: [FormGroupRule]?) { self.formRules = formRules } @@ -50,8 +50,12 @@ import MVMCore } public func validate() { + guard let formRules = formRules else { + return + } formActionMolecules.forEach { (actionModel) in - if let groupName = actionModel.groupName, let formRule = formRules.first(where: { $0.groupName == groupName }) { + if let groupName = actionModel.groupName, + let formRule = formRules.first(where: { $0.groupName == groupName }) { validate(groupName, actionModel, formRule.rules) } } diff --git a/MVMCoreUI/Templates/TemplateProtocol.swift b/MVMCoreUI/Templates/TemplateProtocol.swift index 1e3dbdcc..fcb6bde2 100644 --- a/MVMCoreUI/Templates/TemplateProtocol.swift +++ b/MVMCoreUI/Templates/TemplateProtocol.swift @@ -21,7 +21,8 @@ public extension TemplateProtocol where Self: MFViewController { let decoder = JSONDecoder() let templateModel = try decoder.decode(TemplateModel.self, from: data) - if self.formValidator == nil, let rules = templateModel.formRules { + if self.formValidator == nil { + let rules = templateModel.formRules self.formValidator = FormValidator(rules) } self.templateModel = templateModel