web-dev-qa-db-ja.com

フォームの検証:フォーカスが合っていないvs onKeyPressの遅延

フォーム検証の適切な時期はすでに何度か議論されています herehere および here が最近使用されている実装に数回気づきました検証の遅延。入力をやめるとすぐに、少し遅れて検証が行われます。 onKeyPress検証より優れているようですが、onBlurより優れていますか?一般に?

遅延フォーム検証の例 (もちろん:エラーが発生した場合、エラーはすぐにここに隠され、遅延は短すぎるようです)

alist離れた研究 で彼らは部分的に遅れた方法を使用しました、しかしそれらは彼らにとって非常にうまくいったユーザー名とパスワードのためにだけでした。

5
Gustav

入力が完了した後に検証を行う必要があることを覚えておくことは非常に重要です

タイピング中に行われる検証(わずかな遅延があっても)は、ユーザーがまだ行っていない間違いについてユーザーにプロンプ​​トを表示するため、本当に煩わしいものです。

検証をトリガーする最適なタイミングは次のとおりです。

  • オン focusOut
  • 送信ボタンを押すと
  • (検証ボタンをクリックしたときにユーザー名を選択するなどの回避できないシナリオの場合)

...ユーザー名とパスワードのみで、非常に効果的でした。

ユーザー名は一意である必要があるため、ユーザーが何を選択するかわからない場合があるため、ユーザー名は理にかなっています。

ただし、パスワードについては、ユーザーが入力するときにルールに言及し、チェックを外す方法は、私が遭遇した最も直感的な方法の1つです。 こちらをご覧ください

3

Delayed on KeyPressが効果的でない状況はいくつかあります。

  1. 誰もが同じタイピング速度を持っているわけではありません。
  2. 人々はロボットではなく、一時停止します。

一方、焦点が合っていないは長年にわたって私たちの友人です。 50%以上のWebユーザーがこれに精通していると思います。

5
Jivan