Eureka 表单中的必填字段

Required field in Eureka form

如果行 percentageField 或 valueField 不为 nil,我想做必填字段。

KalkulatinTag 是枚举:

enum KalkulationTag: Int {
    case skonto = 11
    case tage= 22
}

Hese 是 KalculationCell 中的代码 ViewController:

if (self.tag == KalkulationTag.skonto.rawValue) {
    if ((percentageField.text != nil) || (valueField.text != nil)) {
        if (self.tag == KalkulationTag.skonto.rawValue){
            //here should be required field of eureka
        }
    }
}

这里是调用eureka表单的代码:KalkulationRow是Costum行,IntRow是Eureka行。我需要 IntRow() 值。

form +++ Section("SKONTO")
    <<< IntRow() {
            [=12=].title = "Tage:"
            [=12=].cell.tag = KalkulationTag.tage.rawValue
        }
    <<< KalkulationRow { row in
            row.cell.tag = KalkulationTag.skonto.rawValue
        }

项目在这里:

根据 Eureka 的 validation 文档,可以通过向行添加 RuleRequired 规则来创建所需的行。此外,还有一个功能可以让您删除任何您想要的规则。

所以,策略应该是这样的:

1) 在初始行设置中检查 percentageFieldvalueField 值。如果其中任何一个等于 nil 或为空 - 添加 RuleRequired 到该行。

2) 下一步您应该管理 onChanged 闭包。同样,对于 percentageFieldvalueField 签入 onChanged 闭包,该行的值不是 nil 或空。如果行有值 - 删除必需的规则,如果有 - 添加。