荣誉 1.1.1

荣誉 1.1.1

测试已测试
语言语言 SwiftSwift
许可 MIT
发布最后发布2015年9月
SPM支持 SPM

Jean Pimentel 维护。



荣誉 1.1.1

  • 作者
  • Jean Pimentel

Honour

受 Respect/Validation 启发的 iOS 验证库。

Validator.mustBe(Uppercase()).andMust(StartsWith("F")).validate("FOOBAR")

:exclamation: 如果您想在这个库的 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 或 false
  • assert() - 返回一个包含 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 请求。

    1. 分支它!
    2. 创建您的功能分支: git checkout -b my-new-feature
    3. 提交您的更改: git commit -am '添加某个功能'
    4. 推送到分支: git push origin my-new-feature
    5. 提交一个Pull Request

验证器

始终是进行中…

现已可用

本地化验证器

许可证

Honour 项目采用 MIT 许可证发布。详细信息请见 LICENSE