SBValidator
基于规则的 Swift 验证库。
特性
iPhone 截图
安装
为了安装 Validator,将其作为子模块添加到您的项目(在顶级项目目录中)
git submodule add https://github.com/smbhuin/SBValidator.git
Carthage
您可以使用 Carthage。在 Cartfile 中指定。
github "smbhuin/SBValidator"
运行 carthage
来构建框架,并将构建的 SBValidator.framework 拖动到您的 Xcode 项目中。请遵循 构建说明。
CocoaPods
您可以使用 CocoaPods。
platform :ios, '10.0'
use_frameworks!
target 'MyApp' do
pod 'SBValidator'
end
或使用代码指定分支的最新版本
pod 'SBValidator', :git => "https://github.com/smbhuin/SBValidator", :branch => "master"
Swift 包管理器
您可以使用 Swift 包管理器,并在 Package.swift
中通过添加以下内容来指定依赖项
dependencies: [
.package(url: "https://github.com/smbhuin/SBValidator.git", from: "3.0.0")
]
或更严格
dependencies: [
.package(url: "https://github.com/smbhuin/SBValidator.git", .exact("3.0.0"))
]
使用说明
import SBValidator
let v = Validator()
v.add(name: "Email", value: email, rules: [.required, .email])
v.add(name: "Name", value: name, rules: [.required, .fullName])
v.add(name: "Subject", value: subject, rules: [.required, .length(min: 10, max: 200)])
v.add(name: "Message", value: message, rules: [.required, .length(min: 10, max: 2000)])
do {
try v.validate()
} catch {
debugPrint(error)
}
验证规则
规则 | 描述 |
---|---|
AlphaNumericRule | 仅允许字母数字字符。 |
AlphaRule | 仅允许字母字符。 |
ArrayLengthRule | 限制数组长度。 |
ArrayRule | 对数组中的每个元素应用规则。 |
CharacterSetRule | 提供允许字符集。 |
ConfirmRule | 匹配特定值。 |
CoordinateRule | 将经纬度作为 [Double] 并进行验证。 |
CurrencyRule | 将货币作为 String 进行验证。 |
DateRule | 将日期作为 String 进行验证。 |
EmailRule | 检查有效电子邮件。 |
EnumRule | 与一组值进行检查。 |
ExactLengthRule | 检查 String 的固定长度。 |
FloatRule | 检查有效的浮点数字符串。 |
FullNameRule | 检查人的全名。 |
HexColorRule | 验证十六进制颜色代码。 |
IPV4Rule | 检查IP v4。 |
ISBN规则 | 检查是否为有效的ISBN号码。 |
ISO8601日期规则 | 检查日期字符串是否为IOS8601格式。 |
长度规则 | 检查提供的最小和最大长度。 |
月份规则 | 检查月份数字是否有效(01 至 12 ) |
数字规则 | 检查是否只包含十进制数字。 |
密码规则 | 检查密码是否达到所需的强度。 |
电话号码规则 | 检查是否为有效的电话号码。 |
PIN码规则 | 检查是否为有效的印度邮政编码。 |
范围规则 | 与提供的最小和最大值进行对比。 |
正则表达式规则 | 与提供的正则表达式进行对比。 |
必需规则 | 检查是否有值,不是 nil 或 empty 。 |
可验证规则 | 用于结构体或对象的验证。 |
有效期年份规则 | 验证信用卡/借记卡的过期年份。 |
邮政编码规则 | 检查是否为有效的邮政编码。 |
API 文档
更多信息请访问我们的 API 参考。
致谢
感谢 SwiftValidator。
许可
此库采用 MIT 许可。完整的许可协议文本可在 LICENSE 文件中找到。