受 Respect/Validation 启发的 iOS 验证库。
Validator.mustBe(Uppercase()).andMust(StartsWith("F")).validate("FOOBAR")
如果您想在这个库的 Objective-C 类中使用,请查看 HonourBridge 仓库。
let username = "jeanpimentel"
Lowercase().validate(username) // true
可以使用验证器形成链式结构。
let v = Validator.addRule(Lowercase()).addRule(NoWhitespace()).addRule(Length(min: 3, max: 60))
v.validate("jeanpimentel") // true
可以使用一些语法技巧以高度表达的方式使用。
let v = Validator.mustHave(Length(min: 3, max: 60)).and(NoWhitespace()).andMustBe(Lowercase())
v.validate("jeanpimentel") // true
我们有三种验证方法
validate()
- 返回 true 或 falseassert()
- 返回一个包含 true/false 和所有错误(如果有)的元组。check()
- 返回一个包含 true/false 和第一个错误(如果有)的元组。func validate(value: AnyObject) -> Bool
let validator = Validator().addRule(Uppercase()).addRule(StartsWith("J"))
validator.validate("JEAN") // true
validator.validate("PIMENTEL") // false
func assert(value: AnyObject) -> (isValid: Bool, invalidRules: Array<Rule>)
let validator = Validator().addRule(Uppercase()).addRule(StartsWith("J"))
let result = validator.assert("JEAN")
result.isValid // true
result.invalidRules // [] (empty)
let result = validator.assert("Jean")
result.isValid // false
result.invalidRules // [Uppercase()]
let result = validator.assert("Felipe")
result.isValid // false
result.invalidRules // [Uppercase(), StartsWith("J")]
func check(value: AnyObject) -> (isValid: Bool, invalidRule: Rule?)
let validator = Validator().addRule(Uppercase()).addRule(StartsWith("J"))
let result = validator.check("JEAN")
result.isValid // true
result.invalidRule // nil
let result = validator.check("Felipe")
result.isValid // false
result.invalidRule // Uppercase()
let result = validator.check("FELIPE")
result.isValid // false
result.invalidRule // StartsWith("J")
在 Cocoapods 上有该包。有关更多信息,请参阅 “使用 CocoaPods” 指南。
use_frameworks!
platform :ios, '7.0'
pod 'Honour', '~> 1.1.1'
Honour 版本 | 最小 iOS 目标 | 备注 |
---|---|---|
1.1.1 | iOS 7 | 需要 Swift 1.2(Xcode 6.3)。 |
如果您 发现了错误,并能提供可靠地复现其步骤,请打开一个问题。
如果您 有功能请求,请打开一个问题。
如果您 想要贡献,提交一个 pull 请求。
git checkout -b my-new-feature
git commit -am '添加某个功能'
git push origin my-new-feature
始终是进行中…
现已可用
本地化验证器
Honour 项目采用 MIT 许可证发布。详细信息请见 LICENSE。