Valide 通过 CocoaPods 提供。要安装它,只需将以下行添加到 Podfile 中
pod "Valide"
从您的 ViewController 开始设置一切。首先设置字段的验证名称。
struct ValidationNames {
static let nameField: String = "nameField"
static let emailField: String = "emailField"
static let nonEmptyField: String = "nonEmptyField"
}
设置您需要的规则。(您也可以创建自己的规则)。字段可以有多个规则以遵守。
let requiredRule = RequiredRule()
let emailRule = EmailRule()
let emptyFieldRule = NonEmptyFieldRule()
let minCharsRule = MinCharsRule()
minCharsRule.minChars = 3
let maxCharsRule = MaxCharsRule()
maxCharsRule.maxChars = 50
将验证名称设置为字段并添加规则
self.name.validationName = ValidationNames.nameField
self.name.addRule(requiredRule)
self.name.addRule(minCharsRule)
self.name.addRule(maxCharsRule)
self.emailField.validationName = ValidationNames.emailField
self.emailField.addRule(requiredRule)
self.emailField.addRule(emailRule)
self.nonEmptyField.validationName = ValidationNames.nonEmptyField
self.nonEmptyField.addRule(emptyFieldRule)
self.nonEmptyField.addRule(requiredRule)
在处理验证时(通常通过按按钮),调用 validate()
方法。这返回一个包含成功和错误闭包的闭包。
接收到错误时,将返回字段名称以及在 *Rule 文件中定义的错误。这些也可以按照您的喜好进行定制。
self.name.validate({
print("namefield validates")
}, error: { (validationName, error) -> () in
print("\(validationName) handle: \(error)")
})
self.emailField.validate({
print("emailField validates")
}, error: { (validationName, error) -> () in
print("\(validationName) handle: \(error)")
})
self.nonEmptyField.validate({
print("nonEmptyField validates")
}, error: { (validationName, error) -> () in
print("\(validationName) handle: \(error)")
})
目前;从验证 UI 中的最后一个元素开始。所以您编写的最后一个验证是屏幕上的第一个元素。我没有找到更好的方法。(如果您有更好的方法 - 请告诉我)
然后您可以在正在验证的字段上检查 .isValid()
。这返回一个包含三个属性的情节数组。
func isValid() -> (isValid:Bool, validationName: String, error: String?)
因此,您可以检查 self.nonEmptyField.isValid().isValid
属性。
if self.nonEmptyField.isValid().isValid {
print("Field validates!")
// Do something...
}
Sidney de Koning,[email protected]
Valide 可在 MIT 许可证下获得。有关更多信息,请参阅 LICENSE 文件。