Frage

Ich muss validieren, die ein Datum/Uhrzeit-Feld auf einer Webseite, aber wollen es, es zu tun, ohne die Seite neu zu laden und würde gerne mit 'sofort' feedback für den Benutzer.

Was ist die beste/einfachste Lösung.BTW:am einfachsten erreicht 65% der Gesamtzahl der Punkte

Edit:Was ist, wenn die besten 65% der Gesamtzahl der Punkte?

War es hilfreich?

Lösung 10

Sieht aus wie es ' s ein tolles video über die ASP.NET AJAX Control Toolkit bietet die MaskedEdit Kontrolle und die MaskedEditValidator Steuern, das funktioniert Super.Nicht leicht für Anfänger, aber SEHR gut und instant feedback.

Danke für die vielen Antworten aber!

asp.net

Leider kann ich nicht akzeptieren diese Antwort.

Andere Tipps

Wenn Sie möchten, JavaScript zu verwenden, dann hat es gebaut-in-Datum Validierung Funktionen.Allerdings, wenn Sie nicht wollen, gehen Sie JavaScript route, die Sie könnte ändern die UI-dropdown-Steuerelemente begrenzen würde, die Fähigkeit der Benutzer, ungültige Daten eingeben.Würden Sie noch brauchen, um zu überprüfen, server-Seite, um sicherzustellen, niemand legt Feb 30.

Schauen Sie sich diese javascript Datum Validierung Funktion.

Es verwendet javascript, reguläre Ausdrücke und die "onblur" - Veranstaltung von einem text-input.

@David H.Aust

Mit onblur für die Validierung ist problematisch, weil einige Leute benutzen Sie die enter-Taste, nicht mit der Maus, um ein Formular Absenden.Onblur verwenden und die form onsubmit-Ereignis in Verbindung, könnte eine bessere Lösung sein.Damals, als ich JS-Validierung für die Formen eine Menge mehr, würde ich gegen keyup-Ereignisse.Dies gab der Benutzer sofort eine Rückmeldung, ob Ihre Eingabe richtig war.Sie können (und ich) auch Kontrollen in Ort, so dass die Benutzer nicht erhalten eine "falsch" angezeigt, bis Sie habe das Feld verlassen (da sollte man nicht sagen, Sie sind falsch, wenn Sie nicht getan noch).

Ich würde empfehlen die Verwendung von Dropdown-Menüs für Termine, wie oben angegeben.Ich kann nicht wirklich denken, aus irgendeinem Grund nicht zu-Sie wollen, dass der Benutzer eine Auswahl aus vorgegebenen Daten, nicht geben Sie etwas einzigartiges, das Sie nicht vorhersehen können.

Sie können vermeiden, Februar 30 mit ein wenig Javascript (machen Sie das Tage-Feld füllen dynamisch bezogen auf den Monat).

@Brian Warshaw
Das ist ein wirklich guter Punkt, den Sie treffen, nicht zu vergessen die Benutzer, die Navigation über die Tastatur (ähm, ich).

Vielen Dank, dass Sie unsere Aufmerksamkeit auf das.

Ein einfaches javascript-Methode, die liest, was Sie in das input-Feld auf "Absenden" und überprüft Sie.Wenn es nicht gültig ist, false zurück, so dass das Formular nicht an den server gesendet werden.

... onSubmit="return validateForm();" ...

Stellen Sie sicher, dass Sie überprüfen auf der server-Seite auch, es ist einfach zu umgehen javascript-Validierung.

Wenn Sie ASP.NET es hat validator-Steuerelemente, die Sie zeigen können Textfelder, die Sie dann verwenden können, um zu überprüfen richtige Datum/Zeit-Formate.

Es gibt ein paar von Datum widgets in der Luft.Dann können Sie nur gültige Eingaben.

Ich habe dieses kleine bisschen von js-code in ein paar Projekte, Mach es Datum schnell und einfach zusammen mit ein paar anderen.

Link

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top