web-dev-qa-db-ja.com

寛容なフォーマット:ぼかしまたはできるだけ早く書き換えますか?

Webサイトに電話番号と社会保障番号の 寛容なフォーマット パターンを実装しています。

基本的には、ユーザーが自分の(米国)電話番号を入力するという考え方です。

5558675309

システムは、再フォーマットによって入力を理解するというフィードバックを提供します。

555-867-5309

「エコーバック」はいつ発生しますか?

  1. 10桁目が入り次第?
  2. フィールドがぼやけているとき?
3

ぼやけるまで書き換えないでください。誰かが7桁を入力し、最初に移動して '180'を追加するかもしれません...市外局番で2番目の0を取得する前に突然、コードが書き直され、カーソル位置が失われます。

コントロールを離れるときは常に入力をフォーマットします。カーソルがまだそこにあるときは決してフォーマットせず、情報を編集または追加している可能性があります。これは、ほぼすべてのコントロール(電話番号だけでなく)にも当てはまります。

ライブ検証を実行できます(パスワードの品質について進行中のアイデアを提供するパスワードコントロールなど)。しかし、ライブの書き換えは決してしないでください。

12
Myrddin Emrys

厳密にはユーザーとして、入力が一貫して動作することを望みます。ぼかしに対して他の変換や検証を行う場合、ぼかしに対してもこのフィールドでその処理を実行したいと思うでしょう。しかし、他のすべてのフィールドが通常検証またはフィードバックを即座に提供する場合(たとえば、必要なフィールドからすべてのテキストをクリアすると、すぐに「赤」になります)、おそらくすぐに変換を実行する必要があります。

更新:Myrddin Emrysの回答にも同意します。

1
brightgarden