Die neue Asp.net mvc 2.0-Eingabevalidierung funktioniert wie ein Charm, außer bei Dezimaltrennzeichen, wenn es um jquery.validate geht. Wenn ich die Microsoft MVC Ajax-Bibliotheken verwende, funktioniert es gut. Das Komma ist sowohl die Serverseite des Dezimaltrennzeichens als auch die Clientseite.
%Vor%Wenn ich dies verwende (jquery ist in der Hauptansicht geladen), muss ich einen Punkt auf der Client-Seite verwenden. Aber dann ist das Modell ungültig und es wird in die Ansicht zurückgekehrt, wodurch eine interessante Schleife entsteht.
%Vor%Ich würde lieber jquery für alle meine Javascript-Bedürfnisse verwenden, gibt es eine Möglichkeit, jquery.validate das Komma und nicht den Punkt zu verwenden? Ich habe gegoogelt und die Dokumente gelesen, aber seltsam genug, ich konnte nicht viel zu diesem Thema finden, von dem Sie denken würden, dass es ein gemeinsames wäre.
Ahhh ... Die Freuden der Globalisierung!
Wenn es um Zahlen geht (und ich werde nicht einmal an Daten anfangen), kann die Notwendigkeit, das richtige Dezimaltrennzeichen zu bestimmen, entmutigend sein. Es gibt jedoch eine einfache Möglichkeit, das Dezimaltrennzeichen für einen Client zu bestimmen:
%Vor%Auf diese Weise wissen Sie immer, was das Dezimaltrennzeichen auf dem Client ist, und lassen Sie die Validierung entsprechend durchführen.
Wahrscheinlich finden Sie die Antwort in der additional-methods.js . Sie finden das Beispiel der Datumslokalisierung: Suchen Sie nach <input name="pippo" class="{dateITA:true}" />
und jQuery.validator.addMethod("dateITA",
, die folgen. Sie können dasselbe tun, um Ihre benutzerdefinierte Validierung von Zahlen hinzuzufügen und zu verwenden (entspricht dem von Ihnen verwendeten Gebietsschema).
Eine Lösung besteht darin, jquery validate zu patchen, obwohl Sie die Datei nicht direkt bearbeiten sollten, wie Petr vorgeschlagen hat, da diese Änderungen überschrieben werden, wenn Sie sie später aktualisieren. Hier ist eine bessere Lösung: Ссылка
Als schnelle Lösung können Sie die Client-Validierung entweder lokal oder global wie hier beschrieben deaktivieren: Ссылка
Sie können Komma neben dem Punkt in der Datei jquery.validate.min.js oder jquery.validate.js zum regulären Ausdruck hinzufügen. Im nächsten Beispiel ist es fett markiert. (\. - & gt; [\.,])
%Vor%Seien Sie vorsichtig, diese Originalexpansion akzeptieren Sie die Nummer mit dem Tausendertrennzeichen (,). Es ist besser, verwenden Sie RE ohne tausend Trennzeichen, wenn Sie Komma Dezimaltrennzeichen verwenden möchten.
Tags und Links asp.net-mvc jquery