O que é Validator e para que serve?
Validator é uma biblioteca leve para validação de dados em Swift, projetada para aplicações iOS e macOS. Ela permite descrever declarativamente regras de verificação de entrada do usuário, evitando construções if-else extensas. O objetivo principal é simplificar o processamento de formulários, requisições de API e quaisquer outros dados que exijam verificação de correção (email, senha, idade, intervalo de números, etc.).
Instalação
Validator é instalado via Swift Package Manager (SPM). Adicione a dependência em Package.swift:
.package(url: "https://github.com/adamwaite/Validator.git", from: "3.2.0")Ou via Xcode: File → Add Packages → cole a URL do repositório.
Funcionalidades principais
- Validação de strings: email, URL, expressões regulares, comprimento, não vazio.
- Validação numérica: intervalo, valor mínimo/máximo, números inteiros.
- Regras compostas: combinação de múltiplas condições via
And/Or. - Validadores personalizados: criação de regras próprias através de closures.
- Integração com UIKit/SwiftUI: extensões prontas para UITextField e SwiftUI View.
Exemplo de código em Swift (iOS)
import Validator
// 1. Definindo a regra para emaillet emailRule = ValidationRulePattern(pattern: EmailValidationPattern.standard, error: "Email inválido")
// 2. Validando a stringlet email = "test@example.com"let result = email.validate(rule: emailRule)
switch result {case .valid: print("Email válido")case .invalid(let errors): print("Erros: \\(errors)")}
// 3. Regra composta: senha de 8 a 20 caracteres, contendo pelo menos um dígitolet passwordRule = ValidationRuleLength(min: 8, max: 20, error: "Comprimento da senha entre 8 e 20") && ValidationRulePattern(pattern: ".*[0-9].*", error: "A senha deve conter um dígito")
let password = "SecurePass1"let passwordResult = password.validate(rule: passwordRule)
// 4. Validação de UITextField (UIKit)let textField = UITextField()textField.text = "user@domain.com"textField.validate(rule: emailRule) { result in // processamento do resultado}Quando usar Validator
- Formulários de registro/autenticação (email, senha, telefone).
- Validação de entrada em UITextField / SwiftUI TextField.
- Verificação de dados antes do envio ao servidor.
- Filtragem e verificação de conteúdo do usuário (avaliações, comentários).
- Parsing e validação de respostas JSON/API.
A biblioteca é ideal para projetos que exigem um sistema de verificação de dados flexível, legível e extensível, sem código boilerplate desnecessário.
Também na biblioteca
Axios
Trabalhando com Excel em Swift: Guia Completo de Bibliotecas e Ferramentas para iOS/macOS
GraphQL em PHP: bibliotecas webonyx/graphql-php e Lighthouse para criação de APIs
Trabalho com XML em PHP: guia completo para análise e criação de documentos XML