Validador de formulario de inicio de sesión ligero usando Combine

May 09 2023
Como escribí un artículo para implementar un validador para el formulario de inicio de sesión en RxSwift, decidí escribir uno para la misma idea usando el marco Apple Combine. Casi todas las aplicaciones móviles requieren un formulario de inicio de sesión y debe validar las credenciales de usuario antes de continuar con el proceso de inicio de sesión.

Como escribí un artículo para implementar un validador para el formulario de inicio de sesión en RxSwift, decidí escribir uno para la misma idea usando el marco Apple Combine.

Validador de formulario de inicio de sesión ligero con RxSwift

Casi todas las aplicaciones móviles requieren un formulario de inicio de sesión y debe validar las credenciales de usuario antes de continuar con el proceso de inicio de sesión.

Empecemos a implementar nuestro validador reactivo de una manera sencilla.

Primero, importemos Combiney Foundationdefinamos nuestra enumeración de errores para manejar los errores de validación esperados:

En segundo lugar, creemos LoginFormValidatoruna clase y luego agreguemos una Constantsenumeración privada y otra enumeración ValidationTypepara los tipos de validación.

Hemos creado validateuna función con 2 parámetros texty typeadministrará el proceso de validación dentro de la clase y devolverá un tipo de AnyPublisher<Void, ValidationError>retorno Voiden caso de éxito o ValidationErrorfracaso.

El siguiente paso es crear nuestras funciones privadas para validar el correo electrónico y la contraseña.

Hemos creado nuestras funciones privadas validateEmaily ValidatePasswordpara mantener nuestro código limpio.
Usamos Futurepara administrar el estado y devolver el resultado y agregamos Deferredaquí para esperar la implementación del Futurebloque.

Finalmente, vamos a implementar el uso de la LoginFormValidatorclase en tiempo real.

Ahora nuestro validador está listo para usar y puede agregar más casos de validación según los requisitos de su aplicación.
Traté de mantenerlo simple para explicar la idea fácilmente y te acostumbras.

Puede encontrar la implementación del validador de formulario de inicio de sesión RxSwiften la siguiente historia.

Validador de formulario de inicio de sesión ligero con RxSwift