Validateur de formulaire de connexion léger utilisant Combine

May 09 2023
Depuis que j'ai écrit un article sur la mise en œuvre d'un validateur pour le formulaire de connexion dans RxSwift, j'ai décidé d'en écrire un pour la même idée en utilisant le framework Apple Combine. Presque toutes les applications mobiles nécessitent un formulaire de connexion et vous devez valider les informations d'identification de l'utilisateur avant de poursuivre le processus de connexion.

Depuis que j'ai écrit un article sur la mise en œuvre d'un validateur pour le formulaire de connexion dans RxSwift, j'ai décidé d'en écrire un pour la même idée en utilisant le framework Apple Combine.

Validateur de formulaire de connexion léger utilisant RxSwift

Presque toutes les applications mobiles nécessitent un formulaire de connexion et vous devez valider les informations d'identification de l'utilisateur avant de poursuivre le processus de connexion.

Commençons à implémenter notre validateur réactif de manière simple.

Tout d'abord, importons Combineet Foundationdéfinissons notre énumération d'erreurs pour gérer les erreurs de validation attendues :

Deuxièmement, créons LoginFormValidatorune classe puis ajoutons une Constantsénumération privée et une autre énumération ValidationTypepour les types de validation.

Nous avons créé validateune fonction avec 2 paramètres textet typeelle gérera le processus de validation à l'intérieur de la classe et retournera un type de AnyPublisher<Void, ValidationError>à retourner Voiden cas de succès ou ValidationErrord'échec.

L'étape suivante consiste à créer nos fonctions privées pour valider l'e-mail et le mot de passe.

Nous avons créé nos fonctions privées validateEmailet ValidatePasswordpour garder notre code propre.
Nous utilisons Futurepour gérer l'état et retourner le résultat et nous avons ajouté Deferredici pour attendre la mise en œuvre du Futurebloc.

Enfin, nous allons implémenter l'utilisation de LoginFormValidatorla classe en temps réel.

Maintenant, notre validateur est prêt à être utilisé et vous pouvez ajouter plus de cas de validation en fonction des exigences de votre application.
J'ai essayé de faire simple pour expliquer l'idée facilement et on s'y habitue.

Vous pouvez trouver l'implémentation du validateur de formulaire de connexion à l'aide RxSwiftde l'histoire suivante.

Validateur de formulaire de connexion léger utilisant RxSwift