什么是 Validated,为什么需要它?
Validated 是一个轻量级的 Swift 库,用于声明式数据验证。无需编写冗长的 if-else 链或使用 NSPredicate,您可以通过方法链来描述验证规则。这在处理 iOS/macOS 应用中的表单、API 响应和用户输入时特别有用。
如何安装 Validated?
该库通过 Swift Package Manager 分发。在 Package.swift 中添加依赖项:
dependencies: [ .package(url: "https://github.com/your-repo/Validated.git", from: "1.0.0")]或者通过 Xcode:File → Add Packages → 粘贴仓库 URL。
主要功能
- 字符串验证 — 检查 email、长度、正则表达式。
- 数字验证 — 范围、最小值/最大值。
- 复合检查 — 通过 AND/OR 组合多个规则。
- 本地化错误 — 自动将消息翻译为设备语言。
- 异步验证 — 用于需要网络请求的检查。
Swift (iOS) 代码示例
import Validated
struct RegistrationForm { @Validated(.email, .nonEmpty) var email: String @Validated(.range(6...20), .alphanumeric) var password: String func validate() -> Bool { return $email.isValid && $password.isValid }}
// 使用var form = RegistrationForm()form.email = "user@example.com"form.password = "Pass123"
if form.validate() { print("表单有效")} else { print("错误:\\(form.$email.errors.first ?? "")")}何时使用 Validated?
该库非常适合以下场景:
- 注册和登录表单
- 实时输入字段验证
- 发送到服务器前的数据检查
- 创建职责分离的干净代码
如果您想减少样板代码,并使验证透明且可测试,请使用 Validated。该库得到积极维护,并兼容 iOS 13+ 和 macOS 10.15+。