SRFormValidator 1.0.0

SRFormValidator 1.0.0

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

Stephen Radford 维护。



  • 作者:
  • Stephen Radford

Swift 中的一个快速且简单的表单验证器。灵感来源于 Laravel

使用方法

首先,在需要它的地方导入 SRFormValidator

import SRFormValidator

接下来,将规则写成字典的形式。键应该是字段值的 keyPath,而规则则是字典的值。因为它使用 key path 获取值,所以你可以自由使用变量或字典。下面是一个使用多个规则和两个字典的示例。

let rules = [
    "personalDetails.emailAddress": "required|email",
    "personalDetails.firstName": "required",
    "personalDetails.lastName": "required",
    "personalDetails.phone": "required|min:10|max:30",
    "shippingDetails.address": "required",
    "shippingDetails.city": "required",
    "shippingDetails.state": "required",
    "shippingDetails.zipCode": "required|alhanumeric|max:10"
]

您可以使用 isValid 类方法验证您的规则。它将返回有错误的字段数组或者如果没有错误则为 nil。

let errors = SRFormValidator.isValid(rules, self)
if(errors != nil) {
    println(valid)
}

规则

目前可以使用 5 个规则来验证字段。可以使用 | 来分隔多个规则,一些规则使用 : 来包含参数。

规则 效果
required 检查字段是否为 nil 或空白字符串。
email 使用正则表达式检查字段是否是有效的电子邮件地址。
alphanumeric 使用正则表达式检查字段是否只包含 a-z, A-Z 和 0-9。
min:10 检查字段是否具有至少设置为的字符长度值,或者如果是一个整数,则值是否大于等于规则。
max:10 检查字段是否具有最大设置为的字符长度值,或者如果是一个整数,则值是否小于等于规则。

注意事项

  • 目前只能验证字符串。如果您尝试其他内容可能会失效。Min 和 Max 会尝试解析整数。
  • 不会返回消息,只会告诉字段已经失败。