Validatore di moduli di accesso leggero utilizzando Combine

May 09 2023
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. Quasi tutte le app mobili richiedono un modulo di accesso ed è necessario convalidare le credenziali dell'utente prima di procedere con il processo di accesso.

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 RxSwift

Quasi 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 Combinee Foundationdefiniamo la nostra enum di errori per gestire gli errori di convalida previsti:

In secondo luogo, creiamo LoginFormValidatorla classe, quindi aggiungiamo un'enumerazione privata Constantse un'altra enum ValidationTypeper i tipi di convalida.

Abbiamo creato validateuna funzione con 2 parametri texte typegestirà il processo di validazione all'interno della classe e restituirà un tipo da AnyPublisher<Void, ValidationError>restituire Voidin caso di successo o ValidationErrorfallimento.

Il prossimo passo è creare le nostre funzioni private per convalidare l'e-mail e la password.

Abbiamo creato le nostre funzioni private validateEmaile ValidatePasswordper mantenere pulito il nostro codice.
Usiamo Futureper gestire lo stato e restituire il risultato e abbiamo aggiunto Deferredqui per attendere l'implementazione del Futureblocco.

Infine, implementeremo l'utilizzo della LoginFormValidatorclasse 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 RxSwiftnella storia seguente.

Validatore di moduli di accesso leggero utilizzando RxSwift