少し前まで、Androidアプリケーションに入力フィールド(EditText)のバリデーターを追加する必要がありましたが、ネットワーク上で適切なものは何もありませんでした。自分で作成する必要がありました。 すべてが準備できたので、Apacheライセンスの下で全員に結果を配布し、すべてがどのように機能するかについて少し話すことができます。 興味がある人
猫の下でお願いします。
すべてがゼロから書かれたため、自分でアーキテクチャを作成することが可能であったため、次のスキームが選択されました。
- 1つのバリデーターが1つの入力フィールドに割り当てられます(さらに可能性がありますが、これは意味がありません)
- 各チェッカーには、さまざまな条件(テキストの長さ、マスクの一致など)に応じて、いくつかのチェッカーが割り当てられます。
- チェッカーは、追加された順序でチェックを実行し、最初の「失敗」はメッセージを表示します。
便宜上、いくつかのカスタマイズを行いました。
- フィールドのテキストを変更するか、手動で両方をチェックすることを選択できます
- 別のTextViewとAndroidメカニズム(ポップアップメッセージの付いた赤いアイコン)の両方でメッセージを表示できます。
- バリデーターをグループに結合してグループ全体のチェックを開始し、グループ内の少なくとも1つのバリデーターがエラーを検出した場合は別のメッセージを表示することもできます。
バリデータとチェッカーには基本的な抽象クラスがあり、これを実装することにより、コントロールと特別なチェック用のバリデータを取得できます。
チェックがあります:
- ボイドラインへ
- 行の長さ
- コンプライアンス正規表現用
- 範囲ごと(整数値の入力フィールド用)
- 別の入力フィールドのテキストを一致させるには(パスワードの確認に役立ちます)
コードでは、すべて次のようになります。
以下を呼び出すことにより、グループ内のすべてのバリデーターのチェックを開始できます。
summaryValidator_.performCheck();
バリデーターに興味がある人は、このコードが書かれた壁の中で、
Rus Wizardsの
GitHubからプロジェクトを取得することを勧めます。
そして、もちろん、提案、提案、ヒントは大歓迎です!