rules should be optional

This commit is contained in:
Suresh, Kamlesh 2020-03-10 15:42:44 -04:00
parent 7965c4ac6a
commit c55a9f3faa
2 changed files with 9 additions and 4 deletions

View File

@ -13,13 +13,13 @@ import MVMCore
static var defaultGroupName: String = "default" static var defaultGroupName: String = "default"
var extraValidationBlock: (() -> Bool)? var extraValidationBlock: (() -> Bool)?
var formRules: [FormGroupRule] var formRules: [FormGroupRule]?
var delegate: FormHolderProtocol? var delegate: FormHolderProtocol?
var fieldMolecules: [String: FormFieldProtocol] = [:] var fieldMolecules: [String: FormFieldProtocol] = [:]
var formActionMolecules: [FormActionFieldProtocol] = [] var formActionMolecules: [FormActionFieldProtocol] = []
var radioButtonsModelByGroup: [String: RadioButtonSelectionHelper] = [:] var radioButtonsModelByGroup: [String: RadioButtonSelectionHelper] = [:]
public init(_ formRules: [FormGroupRule]) { public init(_ formRules: [FormGroupRule]?) {
self.formRules = formRules self.formRules = formRules
} }
@ -50,8 +50,12 @@ import MVMCore
} }
public func validate() { public func validate() {
guard let formRules = formRules else {
return
}
formActionMolecules.forEach { (actionModel) in 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) validate(groupName, actionModel, formRule.rules)
} }
} }

View File

@ -21,7 +21,8 @@ public extension TemplateProtocol where Self: MFViewController {
let decoder = JSONDecoder() let decoder = JSONDecoder()
let templateModel = try decoder.decode(TemplateModel.self, from: data) 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.formValidator = FormValidator(rules)
} }
self.templateModel = templateModel self.templateModel = templateModel