フィルタとは (filter): - IT用語辞典バイナリ
フィルターは、受け取ったデータに対して何らかの処理や加工を行った上で出力すること
Androidでは以下のInputFilterが提供されています。
InputFilter | Android Developers
public interface
InputFilter (view source)
android.text.InputFilter |
Known Indirect Subclasses
|
これら以外のフィルターを行いたい場合はカスタムフィルタを作成する必要があります。
作成の方法はこちらが参考になると思います。
EditTextにカスタムInputFilterを適用して入力値の制限を行う | MoaiApps Labo
Y.A.M の 雑記帳: Android Filterを使ってみた
フィルタは、特定の文字列以外は認めない機能です。
入力された文字列を検査する機能では有りません。
それがバリデータになります。
バリデータとは 「バリデーター」 (validator): - IT用語辞典バイナリ
入力されたデータが仕様にそって適切に記述されているかを判断し、不適切な箇所があった場合にはエラーとして通知する。
特定の文字以外を入力させなくしているから、バリデータは不要でしょうか?
そんなことは無いと思います。
- ユーザーID/パスワードなどの必須項目は入力されているか?
- パスワードはある桁以上であるか?特定の文字列を含んでいるか?
- パスワードの確認入力などの二つの項目が同じであるか?
- 電話番号や郵便番号などの"-"区切りのフォーマットが正しいか?
など、入力確定後に検査をしなければならないと思います。
※フォーマット付き項目については、項目を分けたらとか、フォーマット無しで入力させたらいいじゃないかとかありますけどね。鶴様が既存PCのフォームがフォーマット付きだから踏襲し...(ry
検査のタイミングですが、
- フォーカスが外れたタイミング
- ボタン押下などアクションのタイミング
※必須項目の検査は、全ての入力項目を確定させたアクションでしか行えないと思います。
AndroidのEditViewの場合、
- android:inputType 入力制御 (IMEのパネルを制御)
- InputFilter 入力制御 入力されたタイミングでフィルタ
- Formatter 文字列入力後にフォーマット
- Validator 最終的な文字列の検査
の順に処理をすればいいんじゃないかと思います。
バリデータなんて古いぜこっちの方がクールだぜ。ってのあったら教えてほしいな〜。
でわでわ
0 件のコメント:
コメントを投稿