¿Qué es Validated y para qué sirve?
Validated es una biblioteca ligera para Swift, diseñada para la validación declarativa de datos. En lugar de escribir largas cadenas if-else o usar NSPredicate, describes las reglas de verificación en forma de cadena de métodos. Esto es especialmente útil al procesar formularios, respuestas de API y entrada de usuario en aplicaciones iOS/macOS.
¿Cómo instalar Validated?
La biblioteca se distribuye a través de Swift Package Manager. Agrega la dependencia en Package.swift:
dependencies: [ .package(url: "https://github.com/your-repo/Validated.git", from: "1.0.0")]O a través de Xcode: File → Add Packages → pega la URL del repositorio.
Funciones principales
- Validación de cadenas — verificación de email, longitud, expresiones regulares.
- Validación de números — rango, valor mínimo/máximo.
- Verificaciones compuestas — combinación de varias reglas mediante AND/OR.
- Errores localizados — traducción automática de mensajes al idioma del dispositivo.
- Validación asíncrona — para verificaciones que requieren solicitudes de red.
Ejemplo de código en 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("Formulario válido")} else { print("Error: \\(form.$email.errors.first ?? "")")}¿Cuándo usar Validated?
La biblioteca es ideal para:
- Formularios de registro e inicio de sesión
- Validación de campos de entrada en tiempo real
- Verificación de datos antes de enviarlos al servidor
- Creación de código limpio con separación de responsabilidades
Usa Validated si deseas reducir el código boilerplate y hacer que la validación sea transparente y comprobable. La biblioteca tiene soporte activo y es compatible con iOS 13+ y macOS 10.15+.
También en la biblioteca
KeychainAccess para Swift: guía completa con ejemplos
Trabajo con XML en Java: bibliotecas y herramientas para el análisis sintáctico
Biblioteca GraphQL JavaScript (Node.js): Guía completa de Apollo Server y herramientas