質問
Web ページの日付/時刻フィールドを検証する必要がありますが、ページをリロードせずに検証したいので、ユーザーに「即時」フィードバックを提供したいと考えています。
最良/最も簡単な解決策は何ですか。ところで:最も簡単なスコアは総ポイントの 65%
編集:最高のポイントが総ポイントの 65% だったらどうなるでしょうか?
解決 10
ASP.NET AJAX Control Toolkit が提供する、優れた機能を備えた MaskedEdit コントロールと MaskedEditValidator コントロールに関する素晴らしいビデオがあるようです。初心者にとっては簡単ではありませんが、非常に優れた即時のフィードバックが得られます。
全ての回答をありがとうございました!
残念ながらこの回答は受け入れられません.
他のヒント
JavaScript を使用したい場合は、日付検証関数が組み込まれています。ただし、JavaScript のルートを選択したくない場合は、UI をドロップダウン コントロールに変更して、ユーザーが無効なデータを入力できないようにすることもできます。2 月 30 日に誰も送信していないことを確認するために、サーバー側をチェックする必要があります。
これをチェックしてください JavaScriptの日付検証 関数。
JavaScript、正規表現、テキスト入力の「onblur」イベントを使用します。
@デビッドH.オースト
onblur を検証に使用することには問題があります。フォームを送信するのにマウスではなく Enter キーを使用する人がいるからです。onblur とフォームの onsubmit イベントを組み合わせて使用すると、より良い解決策になる可能性があります。私がフォームの JS 検証をもっと行っていた頃は、keyup イベントに対して実行していました。これにより、ユーザーは自分の入力が正しいかどうかについて即座にフィードバックを受けることができました。ユーザーがフィールドを離れるまで「間違っている」メッセージを受け取らないように、チェックを入れることもできます (私もそうしました)。まだ)。
上記のように、日付にはドロップダウンを使用することをお勧めします。そうしない理由は本当に思いつきません。ユーザーに事前定義されたデータから選択してもらいたいのであって、予期できないユニークなものを提供してほしくないのです。
JavaScript を少し使うと 2 月 30 日を避けることができます (日付フィールドに月に基づいて動的に値が入力されるようにします)。
@ブライアン・ウォーショー
キーボードを介して移動するユーザー (ええと、私) を忘れないという点については、非常に良い指摘です。
注目していただきありがとうございます。
送信時に入力フィールドの内容を読み取り、それを検証する単純な JavaScript メソッド。有効でない場合は、フォームがサーバーに送信されないように false を返します。
... onSubmit="return validateForm();" ...
JavaScript の検証をバイパスするのは簡単なので、サーバー側でも検証してください。
ASP.NET を使用している場合は、テキスト ボックスをポイントできる検証コントロールがあり、これを使用して適切な日付/時刻形式を検証できます。
エーテル内で利用できる日付ウィジェットがいくつかあります。そうすれば、有効な入力のみを許可できます。
私はこの小さな js コードをいくつかのプロジェクトで使用しました。他のいくつかのプロジェクトと同様に、日付を迅速かつ簡単に実行できます。