O que é Validated e para que serve?
Validated é uma biblioteca leve para Swift, projetada para validação declarativa de dados. Em vez de escrever longas cadeias de if-else ou usar NSPredicate, você descreve as regras de validação como uma cadeia de métodos. Isso é especialmente útil ao processar formulários, respostas de API e entrada do usuário em aplicativos iOS/macOS.
Como instalar o Validated?
A biblioteca é distribuída através do Swift Package Manager. Adicione a dependência no Package.swift:
dependencies: [ .package(url: "https://github.com/your-repo/Validated.git", from: "1.0.0")]Ou através do Xcode: File → Add Packages → cole a URL do repositório.
Principais funcionalidades
- Validação de strings — verificação de email, comprimento, expressões regulares.
- Validação de números — intervalo, valor mínimo/máximo.
- Verificações compostas — combinação de várias regras usando AND/OR.
- Erros localizados — tradução automática de mensagens para o idioma do dispositivo.
- Validação assíncrona — para verificações que exigem requisições de rede.
Exemplo de código em 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 }}
// Usovar form = RegistrationForm()form.email = "user@example.com"form.password = "Pass123"
if form.validate() { print("Formulário válido")} else { print("Erro: \\(form.$email.errors.first ?? "")")}Quando usar Validated?
A biblioteca é ideal para:
- Formulários de registro e login
- Validação de campos de entrada em tempo real
- Verificação de dados antes de enviar ao servidor
- Criação de código limpo com separação de responsabilidades
Use Validated se quiser reduzir código boilerplate e tornar a validação transparente e testável. A biblioteca é ativamente mantida e compatível com iOS 13+ e macOS 10.15+.
Também na biblioteca
Async/Await em Swift: guia completo com exemplos práticos
Trabalho com CSV em Kotlin: bibliotecas, parsing e gravação de dados
gRPC para Kotlin: bibliotecas, servidor e cliente — exemplos de código
Criptografia em C++: criptografia e hashes com OpenSSL e Crypto++