使用 Validated 在 Swift 中进行数据验证

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

什么是 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+。

推荐