テキストボックスの入力テキストを数値に変換して使用する場合に
あらかじめテキストボックスに入力制限(数字以外入力不可)を設けるか、
全ての入力を許容して入力テキストを入力毎または任意タイミングで検証して
エラーにするかのパターンが考えられます。
これは好みの問題なのかもしれませんが
自分の中で判断基準が不透明であるためどちらを採用すべきなのか迷っています。
一般的にはどちらを採用すべきなのでしょうか?
両方採用すべきなのかもしれませんが、そこまで必要か疑問にも思えます。
もし、ガイドライン的なものがあれば教えていただけますでしょうか?
プログラミング言語は問いません。
(当方はWPFでアプリケーションの開発しております。)
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答5件
0
ベストアンサー
入力値検証と入力値制限は目的が異なると思います。
- 入力値検証はシステム(プログラム)を正常に動作させるために必須です。
※システムによっては入力制限を行うことで入力値検証を省略(入力値制限で代用)可能な場合もあると思います。
が、この場合でも「入力値検証を省略(入力値制限で代用)する」ことはあくまで例外であることを認識したうえで、要件・予算・納期(開発期間)などの条件により省略の是非を判断すればいいでしょう。
- 入力制限はユーザビリティ向上を目的としており、入力値検証で行っている制限のもとで利用者に使いやすいI/Fを提供するために実施すればいいです。
※ リストボックスからの選択、チェックボックスやラジオボタンで選択なども広い意味では入力制限にあたると思います。入力値検証を通る入力をユーザーに負担にならないように如何に入力させるかが入力制限(UI)の胆ですね。
投稿2017/01/24 00:49
編集2017/01/24 01:16総合スコア7914
0
重くなっているPCや反応の悪いタッチパネルなど、ユーザーに「キー入力が通ったか」わからない状況というのがあります。
こういう状況で入力制限、つまりキー入力が弾かれることがあるとユーザーにとっては拒否されたのかまだ通っていないだけなのかわからず不安なUIになります。
もし入力制限にするのなら、拒否すると同時にバルーポップアップで制限の詳細を指摘する必要があります。
また、別の観点としてIMEの未変換文字列をどうしますか? 電話番号入力欄で数字のみしか受け付けないとしても、ユーザーの中には「でんわ」で変換して入力したい人もいます。それを邪魔しないように制限できるでしょうか。
投稿2017/01/23 23:38
総合スコア5568
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
いろんなパターンがあるのは好みの問題でなく想定ユーザーの層と数、セキュリティ等の問題と思います。
消費者向けなどの多くの人に使ってもらう事が重要であればより優しく。
ビジネス上の影響の大きいシステムだったら工数をかけて。
想定ユーザーが社内の数人だったら工数を少なく。
不正な入力を完全に防げる仕組みになるかどうか。
のあたりを考慮して、どのようなものにすべきかを検討すべきと思います。
投稿2017/01/24 00:05
総合スコア264
0
入力値の検証はプロセスとしては必要なものですから、省略できたとしても建前上は「空の検証プロセスがある」として欲しいところです。
その上で誤解を恐れずに断言します。
入力前に制限できるものは、全て制限すべきであると考えております。
そのためには、テキスト入力は極力避ける必要があります。
1.数字の入力にはテキストボックスを使うのではなく、数字入力専用のコントロールを使う。
2.選択肢が有限の物は、テキストボックスで入力させるのではなく選択させる。
などです。
これは入出力の水際作戦とか言われています。
特に、デスクトップアプリケーションで登録ボタンを押した後に検証エラーをだすのはとてもカッコ悪いと思います。
Webアプリケーションならば、ある程度は仕方がありませんがユーザー側に立った場合ガッカリしますよね?
投稿2017/01/23 09:45
総合スコア4150
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/23 10:18 編集
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。