結合を使用した軽量ログインフォームバリデーター
RxSwiftでログインフォームのバリデーターを実装する記事を書いたことがあるので、Apple Combineフレームワークを使って同じアイデアの記事を書くことにしました。
RxSwift を使用した軽量ログインフォームバリデーターほとんどすべてのモバイル アプリにはログイン フォームが必要であり、ログイン プロセスを続行する前にユーザー資格情報を検証する必要があります。
簡単な方法でリアクティブバリデーターの実装を始めましょう。
まず、予想される検証エラーを処理するために、エラー列挙型をインポートCombine
して定義しましょう。Foundation
次に、LoginFormValidator
クラスを作成してから、プライベートConstants
列挙型とValidationType
検証タイプ用の別の列挙型を追加しましょう。
validate
2 つのパラメーターを持つ関数を作成しtext
、type
クラス内で検証プロセスを管理し、成功または失敗の場合にAnyPublisher<Void, ValidationError>
返す型を返します。Void
ValidationError
次のステップは、メールとパスワードを検証するためのプライベート関数を作成することです。
プライベート関数を作成しvalidateEmail
、ValidatePassword
コードをクリーンに保ちます。状態を管理して結果を返すために
使用し、ブロックの実装を待つためにここに追加しました。Future
Deferred
Future
LoginFormValidator
最後に、クラスの使用法をリアルタイムで実装します。
これで、バリデーターを使用する準備が整いました。アプリの要件に応じて、さらに検証ケースを追加できます。
アイデアを簡単に説明できるように、シンプルに保つように努めました。
RxSwift
次のストーリーを使用して、ログインフォームバリデーターの実装を見つけることができます。