ValidatableKit

API Docs CocoaPods Compatible Swift Package Manager Compatible Carthage compatible Swift Platforms CI/CD CodeFactor codecov

Swift 中可组合的数据验证 API,公开了用于编写验证的简单 DSL。

概述

ValidatableKit 允许通过为类型提供 Validator 来验证数据。 可以通过直接提供回调在基本数据类型上执行验证并提供 ValidatorResult 来创建 Validator

let skip: Validator<Int> = .init { _ in ValidatorResults.Skipped() }

或者可以使用库提供的 DSL 为复杂数据类型的属性添加验证

struct User: Validatable {
    let name: String
    let email: String
    let age: Int

    var validator: Validator<Self> {
        return Validator<Self>
            .name(!.isEmpty, .alphanumeric)
            .email(.isEmail)
    }
}

要求

平台 最低 Swift 版本 安装 状态
iOS 8.0+ / macOS 10.10+ / tvOS 9.0+ / watchOS 2.0+ 5.1 CocoaPods, Carthage, Swift Package Manager, 手动 完全测试
Linux 5.1 Swift Package Manager 完全测试
Windows 5.3 Swift Package Manager 完全测试

安装

CocoaPods

CocoaPods 是 Cocoa 项目的依赖管理器。有关使用和安装说明,请访问他们的网站。要使用 CocoaPods 将 ValidatableKit 集成到您的 Xcode 项目中,请在您的 Podfile 中指定它

pod 'ValidatableKit'

或者,您也可以使用 GitHub 发布页面中预构建的 XCFramework,通过将 {version} 替换为您要使用的所需版本。

pod 'ValidatableKit', :http => 'https://github.com/SwiftyLab/ValidatableKit/releases/download/v{version}/ValidatableKit-{version}.xcframework.zip'

Carthage

Carthage 是一个去中心化的依赖管理器,它可以构建您的依赖项并为您提供二进制框架。要使用 Carthage 将 ValidatableKit 集成到您的 Xcode 项目中,请在您的 Cartfile 中指定它

github "SwiftyLab/ValidatableKit"

Swift Package Manager

Swift Package Manager 是一个用于自动化 Swift 代码分发的工具,并集成到 swift 编译器中。

一旦您设置了 Swift 包,添加 ValidatableKit 作为依赖项就像将其添加到 Package.swiftdependencies 值一样简单。

.package(url: "https://github.com/SwiftyLab/ValidatableKit.git", from: "1.0.0"),

或者,您也可以使用 GitHub 发布页面中预构建的 XCFramework,通过将 {version}{checksum} 替换为您要使用的所需版本和工件校验和。

.binaryTarget(name: "ValidatableKit", url: "https://github.com/SwiftyLab/ValidatableKit/releases/download/v{version}/ValidatableKit-{version}.xcframework.zip", checksum: "{checksum}"),

手动

如果您不想使用任何上述依赖管理器,您可以手动将 ValidatableKit 集成到您的项目中。

Git 子模块

XCFramework

您还可以直接从 GitHub 发布页面下载预构建的工件

用法

请参阅完整的 文档 以获取 API 详细信息和示例场景文章。

贡献

如果您希望贡献更改、提出任何改进建议,请查看我们的贡献指南,检查未解决的问题,看看是否已在处理或打开拉取请求

许可证

ValidatableKit 是在 MIT 许可证下发布的。 有关详细信息,请参阅LICENSE