Qu'est-ce que Validated et pourquoi en avez-vous besoin ?
Validated est une bibliothèque légère pour Swift, conçue pour la validation déclarative des données. Au lieu d'écrire de longues chaînes if-else ou d'utiliser NSPredicate, vous décrivez les règles de validation sous forme de chaîne de méthodes. C'est particulièrement utile pour le traitement des formulaires, des réponses API et des saisies utilisateur dans les applications iOS/macOS.
Comment installer Validated ?
La bibliothèque est distribuée via Swift Package Manager. Ajoutez la dépendance dans Package.swift :
dependencies: [ .package(url: "https://github.com/your-repo/Validated.git", from: "1.0.0")]Ou via Xcode : File → Add Packages → collez l'URL du dépôt.
Fonctionnalités principales
- Validation de chaînes — vérification d'email, de longueur, d'expressions régulières.
- Validation de nombres — plage, valeur minimale/maximale.
- Vérifications composites — combinaison de plusieurs règles via AND/OR.
- Erreurs localisées — traduction automatique des messages dans la langue de l'appareil.
- Validation asynchrone — pour les vérifications nécessitant des requêtes réseau.
Exemple de code 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 }}
// Utilisationvar form = RegistrationForm()form.email = "user@example.com"form.password = "Pass123"
if form.validate() { print("Formulaire valide")} else { print("Erreur : \\(form.$email.errors.first ?? "")")}Quand utiliser Validated ?
La bibliothèque est idéale pour :
- Les formulaires d'inscription et de connexion
- La validation des champs de saisie en temps réel
- La vérification des données avant envoi au serveur
- La création de code propre avec séparation des responsabilités
Utilisez Validated si vous souhaitez réduire le code boilerplate et rendre la validation transparente et testable. La bibliothèque est activement maintenue et compatible avec iOS 13+ et macOS 10.15+.
Aussi dans la bibliothèque
Mise en cache en C++ : Redis, couche de données et autres outils
Psr/Log PHP : guide complet avec exemples pratiques
Surveillance des applications TypeScript : outils et bibliothèques