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

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 RxSwiftCasi 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 Combine
y Foundation
definamos nuestra enumeración de errores para manejar los errores de validación esperados:
En segundo lugar, creemos LoginFormValidator
una clase y luego agreguemos una Constants
enumeración privada y otra enumeración ValidationType
para los tipos de validación.
Hemos creado validate
una función con 2 parámetros text
y type
administrará el proceso de validación dentro de la clase y devolverá un tipo de AnyPublisher<Void, ValidationError>
retorno Void
en caso de éxito o ValidationError
fracaso.
El siguiente paso es crear nuestras funciones privadas para validar el correo electrónico y la contraseña.
Hemos creado nuestras funciones privadas validateEmail
y ValidatePassword
para mantener nuestro código limpio.
Usamos Future
para administrar el estado y devolver el resultado y agregamos Deferred
aquí para esperar la implementación del Future
bloque.
Finalmente, vamos a implementar el uso de la LoginFormValidator
clase 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 RxSwift
en la siguiente historia.