Valide 0.1.13

Valide 0.1.13

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布日期最后发布日期2016年10月
SPM支持 SPM

Sidney de Koning 维护。



Valide 0.1.13

  • 作者:
  • Sidney de Koning

Valide

安装

Valide 通过 CocoaPods 提供。要安装它,只需将以下行添加到 Podfile 中

pod "Valide"

使用方法

从您的 ViewController 开始设置一切。首先设置字段的验证名称。

struct ValidationNames {
    static let nameField: String = "nameField"
    static let emailField: String = "emailField"
    static let nonEmptyField: String = "nonEmptyField"
}

设置您需要的规则。(您也可以创建自己的规则)。字段可以有多个规则以遵守。

let requiredRule = RequiredRule()
let emailRule = EmailRule()
let emptyFieldRule = NonEmptyFieldRule()

let minCharsRule = MinCharsRule()
minCharsRule.minChars = 3

let maxCharsRule = MaxCharsRule()
maxCharsRule.maxChars = 50

将验证名称设置为字段并添加规则

self.name.validationName = ValidationNames.nameField
self.name.addRule(requiredRule)
self.name.addRule(minCharsRule)
self.name.addRule(maxCharsRule)

self.emailField.validationName = ValidationNames.emailField
self.emailField.addRule(requiredRule)
self.emailField.addRule(emailRule)

self.nonEmptyField.validationName = ValidationNames.nonEmptyField
self.nonEmptyField.addRule(emptyFieldRule)
self.nonEmptyField.addRule(requiredRule)

在处理验证时(通常通过按按钮),调用 validate() 方法。这返回一个包含成功和错误闭包的闭包。

接收到错误时,将返回字段名称以及在 *Rule 文件中定义的错误。这些也可以按照您的喜好进行定制。

self.name.validate({
        print("namefield validates")
    }, error: { (validationName, error) -> () in
        print("\(validationName) handle: \(error)")
})

self.emailField.validate({
        print("emailField validates")
    }, error: { (validationName, error) -> () in
        print("\(validationName) handle: \(error)")
})

self.nonEmptyField.validate({
        print("nonEmptyField validates")
    }, error: { (validationName, error) -> () in
        print("\(validationName) handle: \(error)")
})

目前;从验证 UI 中的最后一个元素开始。所以您编写的最后一个验证是屏幕上的第一个元素。我没有找到更好的方法。(如果您有更好的方法 - 请告诉我)

然后您可以在正在验证的字段上检查 .isValid()。这返回一个包含三个属性的情节数组。

func isValid() -> (isValid:Bool, validationName: String, error: String?)

因此,您可以检查 self.nonEmptyField.isValid().isValid 属性。

if self.nonEmptyField.isValid().isValid {
    print("Field validates!")
    // Do something...
}

作者

Sidney de Koning,[email protected]

许可证

Valide 可在 MIT 许可证下获得。有关更多信息,请参阅 LICENSE 文件。