TinyValidation 0.2.0

TinyValidation 0.2.0

Roy Hsu维护。



  • Roy Hsu

TinyValidation

CocoaPods Compatible Carthage compatible Platform

Swift的流畅而优雅的验证框架。

要求

  • iOS 8.0+
  • Xcode 10.0+
  • Swift 4.0+

安装

您可以使用CocoaPods或Carthage来安装TinyValidation。

CocoaPods

use_frameworks!

pod 'TinyValidation'

Carthage

github 'royhsu/TinyValidation'

如何使用

请确保导入框架。

import TinyValidation

内置验证规则

您可以使用内置规则进行简单的验证。

示例:验证电子邮件。

let validEmail = try "[email protected]".validated(by: EmailRule.standard)

当前支持的规则。

  • 电子邮件

自定义验证规则

通过遵循 ValidationRule 协议来创建您的自定义规则。

示例:验证密码。

// Custom password rules.
enum PasswordRule: ValidationRule {

    case minimumLength(Int)

    case maximumLength(Int)

    @discardableResult
    func validate(_ value: String) throws -> String {

        switch self {

        case let .minimumLength(length):

            if value.count < length { throw PasswordError.minimumLength(length) }

            return value

        case let .maximumLength(length):

            if value.count > length { throw PasswordError.maximumLength(length) }

            return value

        }

    }

}

然后您可以同时验证多个规则。

let passwordRules: [PasswordRule] = [
    .minimumLength(8),
    .maximumLength(10)
]

let validPassword = try "12345678".validated(by: passwordRules)

参考