2009-03-16 3 views

Antwort

9

ASP.NET MVC verwendet ziemlich viel eine ganz andere Philosophie als reguläre 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, wo sie normalerweise etwas tun einfach nicht.

Es gibt Möglichkeiten, dies zu tun, zum Beispiel in jQuery validation plug-in oder durch IDataErrorInfo Verwendung usw.

Beachten Sie, dass, wenn Sie die Validierung zu tun auf dem Client Sie es immer noch tun müssen (separat) auf dem Server. Diese lästigen Browser können nicht vertraut werden; -p

+0

ich bin froh, dass es nur für die serverseite jetzt aber das sind die Html.ValidationMessage Optionen für dann, ist das nicht MVC's Antwort auf die Standardkomponenten? – Andrew

+0

Ich weiß nicht, dass ich Angst habe. Ich weiß, Scott Gu erwähnt einige der eingebauten Validierungskram auf seinem Blog: http://weblogs.asp.net/scottgu/archive/2009/01/27/asp-net-mvc-1-0-release-candidate-now -available.aspx –

3

ASP.NET MVC beseitigt die meisten klassischen ASP.NET-Steuerelemente, da das Framework nicht viele der nussigen Zeug unterstützt, die diese Steuerelemente in Ihre Seiten injiziert werden müssen, damit sie funktionieren. Dinge wie Viewstate und obskure Javascript-Funktionen sind überall hin und her gerissen.

3

Die Validierer, über die Sie sprechen, gehören zum Bereich der Webformulare und Webcontrols. 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.

2

ASP.NET Validatoren funktionieren nicht mehr, aber einige Arbeit wurde getan, um die Aufgabe zu vereinfachen. Ich habe zum Beispiel verwendet xVal, die eine anständige Aufgabe und sogar integriert mit JQuery Validierung tut, aber ich empfehle Ihnen zu lernen, wie die Validierung funktioniert, bevor etwas verwendet wird.

Vereinfachung, es gibt 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 bei der Bindung oder manuell ausgefüllt und wenn es einige Fehler gibt, können sie in einer Zusammenfassung oder neben dem Feld angezeigt werden (unter Verwendung der HTML-Helfer 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.

0

Es gibt keine Komponenten, die ich kenne. Du wirst die Validierung selbst wie dies zu tun haben (oder updatemodel usw. verwenden)

if (String.IsNullOrEmpty(username)) 
    { 
     ModelState.AddModelError("username", "You must specify a username."); 
    } 

dann auf Ihr Bearbeitungsformular zurückzukehren und das Model Fehler bei der Validierung Zusammenfassung angezeigt.

Es gibt Validierung Frameworks like xval da draußen, nicht sicher, ob das, was Sie suchen?

Verwandte Themen