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