ASP.NET MVC RC2 - Warum kann ich die normalen Überprüfungsoptionen nicht verwenden? z.B. RequiredFieldValidator

8

Ich versuche ein Basisformular zu validieren. Kann ich die Standardvalidierungskontrollen nicht verwenden? Überall, wo ich gucke, versuche ich, etwas wie das Folgende zu benutzen:

%Vor%

Ich dachte, ich könnte die Standardkomponenten verwenden? Alle Hinweise wären brilliant!

    
Andrew 16.03.2009, 15:42
quelle

5 Antworten

9

ASP.NET MVC verwendet ziemlich viel eine völlig andere Philosophie als reguläres ASP.NET; Daher funktionieren mit einigen wenigen Ausnahmen fast keine ASP.NET-Steuerelemente (usw.) in ASP.NET MVC. Abgesehen von allem anderen existiert der Punkt im Seitenlebenszyklus, in dem sie normalerweise etwas tun einfach nicht . .

Es gibt Möglichkeiten, dies zu tun, zum Beispiel im jQuery-Validierungs-Plug-In oder bei mit IDataErrorInfo , etc.

Beachten Sie, dass Sie, wenn Sie eine Validierung auf dem Client durchführen, dies (separat) auf dem Server tun müssen. Diese lästigen Browser können nicht vertrauenswürdig sein ;-p

    
Marc Gravell 16.03.2009, 15:49
quelle
3

ASP.NET MVC macht die meisten klassischen ASP.NET-Steuerelemente überflüssig, da das Framework nicht viele der nussigen Dinge unterstützt, die diese Steuerelemente in Ihre Seiten einfügen müssen, damit sie funktionieren. Dinge wie Viewstate und obskure JavaScript-Funktionen überall hin und her geworfen.

    
Will 16.03.2009 15:47
quelle
3

Die Validierer, über die Sie sprechen, gehören zum Bereich der Webformulare und Web-Controls. In ASP.NET MVC wird nur reines HTML generiert. Valdiators sind im Wesentlichen Label-Web-Controls und brauchen Viewstate, die nicht mehr verfügbar sind.

    
norbertB 16.03.2009 15:48
quelle
2

ASP.NET-Validatoren funktionieren nicht mehr, aber es wurde etwas getan, um die Aufgabe zu vereinfachen. Ich habe zum Beispiel xVal verwendet, das eine anständige Aufgabe erfüllt und sogar in die JQuery-Validierung integriert ist, aber ich empfehle Ihnen zu lernen, wie die Validierung früher funktioniert Verwenden Sie so etwas.

Vereinfacht gesagt, gibt es eine Fehlerauflistung in der ViewData, die zwei Sammlungen enthält, eine referenziert jedes Formularfeld und die andere ist eine Liste der damit verbundenen Fehler. Dies wird mit Binding oder manuell gefüllt und wenn es einige Fehler gibt, können sie in einer Zusammenfassung oder neben dem Feld angezeigt werden (mit den HTML-Helfern für diesen Zweck).

Die Frameworks füllen die Sammlung automatisch und können die Validierungsregeln in clientseitige Skripts übersetzen, aber das Wesentliche ist, zu lernen, wie die Validierung in MVC funktioniert.

    
Marc Climent 16.03.2009 17:43
quelle
0

Es gibt keine mir bekannten Komponenten. Sie müssen die Validierung selbst so durchführen (oder verwenden Sie updatemodel usw.)

%Vor%

Kehren Sie anschließend zu Ihrem Bearbeitungsformular zurück, und die Modestate-Fehler werden in der Validierungszusammenfassung angezeigt.

Es gibt Validierungs-Frameworks wie xval da draußen, nicht sicher, ob du das suchst?

    
Morph 17.03.2009 11:41
quelle

Tags und Links