TinyValidation
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)