new rule logic.

This commit is contained in:
Kevin G Christiano 2020-05-15 15:37:40 -04:00
parent 7e3c9fdcdb
commit 461fd5e2ca

View File

@ -28,23 +28,21 @@ public class RuleEqualsIgnoreCaseModel: RulesProtocol {
} }
public func validate(_ fieldMolecules: [String: FormFieldProtocol]) -> Bool { public func validate(_ fieldMolecules: [String: FormFieldProtocol]) -> Bool {
var valid = true var valid = false
var compareValue: AnyHashable? var compareValue: String?
for formKey in fields { for formKey in fields {
guard let formField = fieldMolecules[formKey] else { continue } guard let formField = fieldMolecules[formKey] else { continue }
if compareValue == nil { if compareValue == nil {
compareValue = formField.formFieldValue() compareValue = formField.formFieldValue() as? String
continue continue
} }
let a = compareValue.caseInsensitiveCompare(formField.formFieldValue()) if let compareValue = compareValue, let fieldValue = formField.formFieldValue() as? String,
compareValue.caseInsensitiveCompare(fieldValue) == .orderedSame {
if compareValue != formField.formFieldValue() {
valid = false valid = false
(formField as? FormRuleWatcherFieldProtocol)?.setValidity(valid, rule: self) (formField as? FormRuleWatcherFieldProtocol)?.setValidity(valid, rule: self)
break
} else { } else {
(formField as? FormRuleWatcherFieldProtocol)?.setValidity(valid, rule: self) (formField as? FormRuleWatcherFieldProtocol)?.setValidity(valid, rule: self)
} }