MVC3 Clientseitige Validierung funktioniert nicht

9

Ich benutze MVC3 mit Razor.
Ich habe Folgendes in mein _Layout.cshtml aufgenommen:

%Vor%

Mein Formular sieht folgendermaßen aus:

%Vor%

Mein ViewModel verfügt über DataAnnotations (und implementiert IValidatableObject) und validiert es während der Controller-Aktion. Ich kann jedoch nicht in der Lage sein, JS-Validierung auf der Client-Seite zu verwenden, ohne das Formular zu veröffentlichen.

Was vermisse ich?

    
TDaver 16.01.2011, 15:27
quelle

3 Antworten

28

In ASP.NET MVC 3 ist das jquery-Validierungs-Plugin der Standard für die Durchführung der clientseitigen Validierung. Sie können also alle Microsoft*.js Skripte aus Ihrem Projekt entfernen. Sie brauchen nur Folgendes:

%Vor%

und entfernen Sie den Aufruf Html.EnableClientValidation(); . Die Client-Validierung ist in web.config aktiviert:

%Vor%     
Darin Dimitrov 16.01.2011, 16:14
quelle
1

Entfernen Sie die Html.EnableClientValidation (); und gehen Sie zu Ihrer Web-Konfiguration und stellen Sie sicher, dass Sie eine App-Einstellung haben, die wie folgt aussieht:

%Vor%     
jsteve81 16.01.2011 16:11
quelle
1

Fügen Sie Ihrer Ansicht die folgenden Zeilen hinzu:

%Vor%

Zusammen mit jquery-1.4.4.js, jquery.validate.js, jquery.validate.unobtrusive.js

Ich bekomme es für meine App zu arbeiten, aber es scheint nicht zu kicken, bis ich einen schlechten Wert eingegeben habe. Zum Beispiel

%Vor%

Dann gebe ich eine 0 auf dem Front-End ein und nach dieser Client-Seite funktioniert die Validierung einwandfrei. Ich möchte, dass die Validierung für die ersten leeren Textfelder funktioniert ... Es scheint falsch zu sein, dass die Validierung wartet, bis ein ungültiger Wert gefunden wird.

    
zo- 18.02.2011 22:49
quelle