Ich bin derzeit dabei, ein Projekt von MVC1 auf MVC2 zu migrieren. Wir verwenden xVal für die clientseitige Validierung.Upgrade von MVC1/xVal-Projekt auf MVC2 und Kompatibilitäten mit clientseitiger Validierung
Von dem, was ich verstehe, muss ich nur Referenzen zu xVal entfernen und durch MVC2 EnableClientSideValidation ersetzen und es sollte den Trick tun. Alles andere wäre erforderlich?
Auch mit xval konnte nicht auf Client-Seite eine Liste von Modellen validieren, 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: Controller:
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; }
}
Ansicht:
<% 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 ist, wo MVC2 Client-Seite Prüfung fehlschlägt, da es durch das Feld ID validiert ...
Sie haben recht, wenn Sie xVal-Referenzen entfernen. Ich denke, das sollte es sein. Ich bin mir nicht sicher über dein zweites Szenario. – Pradeep
MVC3 ist jetzt out :). –