From ae4855e358ff68451e0d36d5daf6270c73a12a43 Mon Sep 17 00:00:00 2001 From: "Suresh, Kamlesh" Date: Wed, 1 Apr 2020 15:40:16 -0400 Subject: [PATCH] rules are optional --- MVMCoreUI/BaseControllers/ViewController.swift | 4 ++-- MVMCoreUI/FormUIHelpers/FormValidator.swift | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/MVMCoreUI/BaseControllers/ViewController.swift b/MVMCoreUI/BaseControllers/ViewController.swift index 024606f4..3376cf76 100644 --- a/MVMCoreUI/BaseControllers/ViewController.swift +++ b/MVMCoreUI/BaseControllers/ViewController.swift @@ -170,8 +170,8 @@ import UIKit navigationModel.line = LineModel(type: .none) } pageModel?.navigationItem = navigationModel - if self.formValidator == nil, - let rules = pageModel?.formRules { + if self.formValidator == nil { + let rules = pageModel?.formRules self.formValidator = FormValidator(rules) } } diff --git a/MVMCoreUI/FormUIHelpers/FormValidator.swift b/MVMCoreUI/FormUIHelpers/FormValidator.swift index a38b4b3f..7012e64d 100644 --- a/MVMCoreUI/FormUIHelpers/FormValidator.swift +++ b/MVMCoreUI/FormUIHelpers/FormValidator.swift @@ -12,13 +12,13 @@ import MVMCore @objcMembers public class FormValidator: NSObject { static var defaultGroupName: String = "default" - var formRules: [FormGroupRule] + var formRules: [FormGroupRule]? weak var delegate: FormHolderProtocol? var fields: [String: FormFieldProtocol] = [:] var groupWatchers: [FormGroupWatcherFieldProtocol] = [] var radioButtonsModelByGroup: [String: RadioButtonSelectionHelper] = [:] - public init(_ formRules: [FormGroupRule]) { + public init(_ formRules: [FormGroupRule]?) { self.formRules = formRules } @@ -59,6 +59,9 @@ import MVMCore /// Validates all rule groups. Returns if valid public func validate() -> Bool { var valid = true + guard let formRules = formRules else { + return valid + } for group in formRules { valid = valid && validateGroup(group) }