jQuery validiert Dezimaltrennzeichen und Asp.net MVC

8

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.

    
Morph 18.01.2010, 12:02
quelle

4 Antworten

2

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.

    
Paulo Santos 18.01.2010 12:18
quelle
1

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).

    
Oleg 30.09.2010 09:41
quelle
0

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: Ссылка

    
Patrick J Collins 27.09.2012 21:02
quelle
0

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.

    
Petr Špaček 22.02.2011 14:03
quelle

Tags und Links