一个 Swift 库,它提供了一种简单而灵活的方法来使用自定义验证规则来验证输入字段

验证者🛡️

Validator 是一个 Swift 库,它提供了一种简单而灵活的方法来使用自定义验证规则来验证输入字段。它由一组定义验证规则和验证结果的协议和结构,以及一个编排验证过程的主类组成​​。

🧪 验证

Validator 包含 🔟+ 内置验证规则,您还可以通过实施Validation协议来创建自己的自定义验证规则。

以下是如何创建自定义验证规则的示例:

struct MyValidationRule: Validation {
    var errorKey: String { "MyValidationRule" }
    var errorMessage: String { "This is not a valid input" }
    public func validate(_ field: String) -> Bool {
        // validation logic here
    }
}

🚀 用法

要在您的 Swift 项目中使用 Validator,您需要将其作为依赖项添加到您的Podfile

target 'MyApp' do
  pod 'Validator', :git => 'https://github.com/swift-tools/Validator.git'
end

然后你可以在你的 Swift 代码中导入 Validator 并开始使用它:

import Validator

let validator = Validator()
validator.add(ValidationRule.Required())
validator.add(ValidationRule.Regex("[a-zA-Z0-9]+"), errorMessage: "The field must contain only alphanumeric characters")
let result = validator.validate("hello")
if result.isValid {
    print("The field is valid ✅")
} else {
    print("The field is invalid ❌: \(result.error?.errorMessage ?? "")")
}

确保替换MyApp为您的目标名称。

🎨 UIKit 集成

Validator 库还包括一些实现,可以更轻松地将 Validator 与 UITextField 对象一起使用。这些实现旨在帮助您在用户输入时实时验证用户输入。

您可以使用三个主要类来实现此目的:

  • ValidatableTextField:这是一个协议,它定义了 UITextField 对象被视为可验证的一组基本要求。如果您在自定义 UITextField 子类中采用此协议,您将获得validate()可用于对用户输入的文本执行验证的方法的默认实现。

  • ValidatedTextField:这是 ValidatableTextField 协议的具体实现,您可以将其用作标准 UITextField 的直接替代品。它带有 Validator 类的默认实例,并且该validate()方法已经实现,因此您无需执行任何其他操作即可开始使用它。

  • LiveValidatedTextField:这是 ValidatedTextField 类的更高级实现,可在用户键入时向其提供实时反馈。它包含一个委托协议,LiveValidatedTextFieldDelegate您可以使用它在文本字段的验证状态发生变化时接收通知。您可以根据验证状态自定义文本字段的外观,为用户提供更多视觉反馈。

通过使用这些类,您可以轻松验证应用中的用户输入并向用户提供实时反馈,从而使您的应用更加人性化和直观。

作者

👨‍💻懒惰米苏

执照

📝 Validator 在 MIT 许可证下可用。有关详细信息,请参阅许可证文件。

GitHub

查看 Github