Frage

Ich bin derzeit auf der Suche hier ein Projekt von MVC1 zu MVC2 migrieren. Wir verwenden xVal für Client-seitige Validierung.

Von dem, was ich verstehe, muss ich nur Verweise auf xVal entfernen und ersetzen durch MVC2 EnableClientSideValidation und es sollte den Trick tun. Alles andere wäre erforderlich?

Auch mit xVal nicht auf Client-Seite eine Liste der Modelle validieren konnte, ist es immer noch der Fall mit MVC2 + ClientSideValidation? (Was ich mit der „Liste der Modelle“ bedeuten tut Validierung auf einem List<TypeOfModel>)

Beispiel hierfür ist: Steuerung:

    public ActionResult Index()
    {
        Models.Model1 model = new Models.Model1();
        model.Usernames = new List<Models.Model2>();

        model.Usernames.Add(new Models.Model2 {  });
        model.Usernames.Add(new Models.Model2 {  });
        model.Usernames.Add(new Models.Model2 {  });
        model.Usernames.Add(new Models.Model2 {  });

        return View(model);
    }

Modell1:

class Model1 {  
public List<Model2> Usernames { get; set; }
}

Model2:

class Model2 {  
[Required]
public string Username { get; set; }
}

Ausblick:

    <% Html.EnableClientValidation(); %>

    <% using (Html.BeginForm()) { %> 

        <% foreach (var username in Model.Usernames) { %> 
            <% Html.RenderPartial("View2", username); %>
            <br /><br />
        <% } %>

        <input type="submit" />

    <% } %>

View2:

<%= Html.EditorFor(f => f.Username) %>
<%= Html.ValidationMessageFor(a => a.Username)%>

Dies ist ein POC wo MVC2 Client-Seite Prüfung fehlschlägt, da es durch das Feld ID validiert ...

War es hilfreich?

Lösung

Been there, done that, bekam das T-Shirt. Und wünschte, ich ging nie da - MVC2 Validierung ist ehrlich gesagt, nicht auf einer Stufe mit xVal sobald Sie xVal ordnungsgemäß umgesetzt haben. Darüber hinaus ist MVC3 Validierung viel, viel besser gemacht. Also, wenn ich weg xVal springt, würde ich Vektor in Richtung macht es mit MVC3 arbeiten, die ein ganz anderen Tier ist.

Andere Tipps

Auch wenn ich etwas zu zeichnen, was gesagt Wyatt hier vor allem der Teil über MVC3, aber ich habe MVC2 Clientseite Validierung wurde mit und es hat eine schlechte Erfahrung gar nicht gewesen.

Um Ihre Frage zu beantworten, müssen Sie folgendes tun: 1. Fügen Sie MicrosoftAjax.js und MicrosoftMvcValidation.js aus Ihrer Sicht. 2. Dann rufen Sie einfach die Helfer <% Html.EnableClientValidation (); %>

Es sollte Pickup Ihre DataAnnotation Modellvalidierungsregeln und geben Sie die Client-seitige Validierung ohne viel Aufwand.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top