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

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.

Recommendations