Validatore di moduli di accesso leggero utilizzando Combine
Poiché ho scritto un articolo per l'implementazione di un validatore per il modulo di accesso in RxSwift, ho deciso di scriverne uno per la stessa idea utilizzando il framework Apple Combine.
Validatore di moduli di accesso leggero utilizzando RxSwiftQuasi tutte le app mobili richiedono un modulo di accesso ed è necessario convalidare le credenziali dell'utente prima di procedere con il processo di accesso.
Iniziamo a implementare il nostro validatore reattivo in modo semplice.
Innanzitutto, importiamo Combine
e Foundation
definiamo la nostra enum di errori per gestire gli errori di convalida previsti:
In secondo luogo, creiamo LoginFormValidator
la classe, quindi aggiungiamo un'enumerazione privata Constants
e un'altra enum ValidationType
per i tipi di convalida.
Abbiamo creato validate
una funzione con 2 parametri text
e type
gestirà il processo di validazione all'interno della classe e restituirà un tipo da AnyPublisher<Void, ValidationError>
restituire Void
in caso di successo o ValidationError
fallimento.
Il prossimo passo è creare le nostre funzioni private per convalidare l'e-mail e la password.
Abbiamo creato le nostre funzioni private validateEmail
e ValidatePassword
per mantenere pulito il nostro codice.
Usiamo Future
per gestire lo stato e restituire il risultato e abbiamo aggiunto Deferred
qui per attendere l'implementazione del Future
blocco.
Infine, implementeremo l'utilizzo della LoginFormValidator
classe in tempo reale.
Ora il nostro validatore è pronto per l'uso e puoi aggiungere altri casi di convalida in base ai requisiti dell'app.
Ho cercato di mantenerlo semplice per spiegare facilmente l'idea e ti ci abitui.
Puoi trovare l'implementazione del validatore del modulo di accesso utilizzando RxSwift
nella storia seguente.