Ich verwende den jQuery Tools Validator, der HTML5-Validierungen über jQuery implementiert. Bis jetzt hat es großartig funktioniert, bis auf eine Sache. In der HTML5-Spezifikation kann der Eingabetyp "number" sowohl Ganzzahlen als auch Gleitkommazahlen enthalten. Dies scheint unglaublich kurzsichtig zu sein, da es nur dann ein nützlicher Validator ist, wenn Ihre Datenbankfelder mit Gleitkommazahlen signiert sind (für vorzeichenlose Ints müssen Sie auf die "Muster" -Validierung zurückgreifen und verlieren dadurch zusätzliche Funktionen wie das Auf und Ab Pfeile für Browser, die dies unterstützen). Gibt es einen anderen Eingabetyp oder vielleicht ein Attribut, das die Eingabe auf nur vorzeichenlose Ganzzahlen beschränkt? Ich konnte keine finden, danke.
BEARBEITEN
Ok, Leute, ich schätze deine Zeit und Hilfe, aber ich sehe viele unverdiente Up-Voting: D. Das Setzen des Schritts auf 1 ist nicht die Antwort, da die Eingabe dadurch nicht eingeschränkt wird. Sie können weiterhin eine negative Gleitkommazahl in das Textfeld eingeben. Ich bin mir auch der Mustervalidierung bewusst (ich habe sie in meinem ursprünglichen Beitrag erwähnt), aber das war nicht Teil der Frage. Ich wollte wissen, ob HTML5 es erlaubt, eine Eingabe vom Typ "number" auf positive ganzzahlige Werte zu beschränken. Auf diese Frage scheint die Antwort "nein, tut es nicht" zu sein. Ich wollte die Mustervalidierung nicht verwenden, da dies bei der Verwendung der jQuery Tools-Validierung einige Nachteile mit sich bringt, aber es scheint, dass die Spezifikation keine sauberere Möglichkeit bietet, dies zu tun.
number
akzeptiert die Eingabe (zumindest in FF / Chrome / Safari) jetzt standardmäßig nur Ganzzahlen, es sei denn, Sie legen einen expliziten Wert für dasstep
attr fest, der Dezimalwerte zulässt. zB :step="0.01"
. MDN hier dokumentiert . In zwei Köpfen darüber, weil ich denke, dass es ein vernünftiger Standard ist, aber auch eine bahnbrechende Änderung (ja, es hat sich auf einen Code ausgewirkt, den ich geschrieben habe).