web-dev-qa-db-ja.com

数値のみのフィールドで数値キーストロークのみを受け入れるのは良い習慣ですか?

私はそれがドルの金額を表すので、数値のみを受け取るフォームを持っています。現在、フォームは数値キーストロークのみを受け入れます。これは良い練習ですか?

9
Casebash

はい、私はあなたがフィールドに適切な文字だけを受け入れるべきだと言います。電話番号の場合は、()-+のような文字も受け入れる必要があります。

ただしは、無効なキーが押されたことを何もしないで知らせるようにしてください。さもなければ、あなたはそれらをイライラさせてしまうかもしれません。例は次のとおりです。フィールドの横にポップアップし、フェードアウトする小さなエラーメッセージ。または、境界線の色を赤に変更してから、再びフェードバックします。

11
JohnGB

クライアント側の検証は役立つ場合がありますが、実装方法には十分注意する必要があります。ユーザーにとって役に立たないようにするのは簡単です。

たとえば、数値以外の文字を暗黙的に無視する場合、ユーザーが「12.34」とすばやく入力しても、フィールドが小数点を無視していることに気付かず、テキストを '1234'として受け入れました。

もう一つの例;数字以外の文字を暗黙的に無視する場合、ユーザーが負の数値「-56」を入力すると、正の数値「56 '。

現在、システムが小数または負の数を受け入れることは無効である可能性があります。しかし、ユーザーがこれらを入力するときにユーザーを最もよく支援する方法を考える必要があります。彼らは意図的に有効であると信じている値を入力しようとしていますか?無効であるとわかっている値を誤って入力していませんか?検証ルーチンは、ユーザーが間違いを認識して修正するのに役立ちますか?

6
Vince Bowdren

短い答え:はい、これは確かに良い習慣だと思います。小数点記号(ローカリゼーション設定によって異なる場合があります)または負の記号も正しい入力と見なされる場合があることに注意してください。

この記事もチェックしてください: http://msdn.Microsoft.com/en-us/library/windows/apps/aa511451.aspx#passwordsAndPINs 特に「不正な文字」に関する部分。

4
Bart Gijssens

@Bartと同様に、小数点記号として「、」、「」を考えました。

「+」と「-」、および「-」の記号を受け入れるのは良い考えかもしれません。もちろん「[-」は「マイナス」の記号であり、「-」はハイフンです」。

同じことがスペースにも当てはまります そのバリエーション :改行なしスペース、薄いスペース…100万ドルを転送する場合は、「1 000 000」と入力します。

2