Validação de dados em Swift: biblioteca Validator

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course
```html

O que é validação de dados em Swift e por que ela é necessária?

Validação de dados é o processo de verificar dados de entrada quanto à conformidade com regras definidas. No desenvolvimento iOS/macOS, é crucial: desde a verificação de email e senha em um formulário de registro até a validação de uma resposta JSON do servidor. As ferramentas integradas do Foundation (NSPredicate, expressões regulares) são frequentemente complexas e inconvenientes para reutilização. Validator é uma biblioteca leve para Swift que permite descrever regras de validação de forma declarativa usando sintaxe encadeada (chainable syntax) e utilizá-las em qualquer lugar do projeto.

Como instalar a biblioteca Validator

Validator está disponível através do Swift Package Manager (SPM). Adicione em Package.swift ou através do Xcode: File → Add Packages → insira a URL do repositório:

https://github.com/adamwaite/Validator

Ou através do CocoaPods, se você o utiliza:

pod 'Validator'

Principais funções da biblioteca

  • Regras integradas: email, URL, string, número, comprimento, expressões regulares e muitas outras.
  • Regras personalizadas: você pode criar qualquer validação implementando o protocolo ValidationRule.
  • Validação de coleções: verificação de arrays, dicionários, valores opcionais.
  • Erros legíveis por humanos: retorna mensagens de erro localizadas.
  • Trabalho com UIKit/SwiftUI: é possível validar campos de texto diretamente.

Exemplo de código em Swift

import Validator

// Criando as regraslet emailRule = ValidationRulePattern(pattern: EmailValidationPattern.standard)let passwordRule = ValidationRuleLength(min: 8, max: 32)

// Validando uma 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)")}

// Validação com múltiplas regraslet username = "user123"let usernameRules = ValidationRuleSet<String>()usernameRules.add(rule: ValidationRuleLength(min: 3))usernameRules.add(rule: ValidationRulePattern(pattern: "^[a-zA-Z0-9_]+$"))

let usernameResult = username.validate(rules: usernameRules)if case .invalid(let errors) = usernameResult { print("Erros de validação do nome de usuário: \\(errors)")}

// Exemplo para UITextField (UIKit)let textField = UITextField()textField.text = "email inválido"textField.validate(rule: emailRule) { result in switch result { case .valid: textField.layer.borderColor = UIColor.green.cgColor case .invalid(let errors): textField.layer.borderColor = UIColor.red.cgColor print(errors.first?.message ?? "") }}

Quando usar Validator

A biblioteca é ideal para:

  • Formulários de entrada (registro, login, perfil).
  • Validação de dados antes do envio para o servidor.
  • Verificação da entrada do usuário em tempo real.
  • Parsing e validação de respostas JSON/API.
  • Qualquer cenário onde seja necessária uma verificação de dados reutilizável múltiplas vezes.

Validator reduz significativamente o código boilerplate, torna a validação legível e testável. É uma ferramenta indispensável para qualquer desenvolvedor Swift que trabalhe com entrada de usuário ou dados externos.

```

Recommendations