Что такое Validated и зачем он нужен?
Validated — это легковесная библиотека для Swift, предназначенная для декларативной валидации данных. Вместо того чтобы писать громоздкие if-else цепочки или использовать NSPredicate, вы описываете правила проверки в виде цепочки методов. Это особенно полезно при обработке форм, API-ответов и пользовательского ввода в iOS/macOS приложениях.
Как установить 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.
- Локализованные ошибки — автоматический перевод сообщений на язык устройства.
- Async-валидация — для проверок, требующих сетевых запросов.
Пример кода на 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, если хотите сократить boilerplate-код и сделать валидацию прозрачной и тестируемой. Библиотека активно поддерживается и совместима с iOS 13+ и macOS 10.15+.