我目前正在尋找將項目從MVC1遷移到MVC2。我們正在使用xVal進行客戶端驗證。將MVC1/xVal項目升級到MVC2並與客戶端驗證兼容
從我的理解,我只需要刪除對xVal的引用,並用MVC2 EnableClientSideValidation替換,它應該做的伎倆。還有什麼需要?
此外,由於xVal無法在客戶端驗證模型列表,MVC2 + ClientSideValidation的情況仍然如此嗎?這
實例(我的意思與 「車型目錄」 是在一個List<TypeOfModel>
做驗證)是: 控制器:
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);
}
型號1:
class Model1 {
public List<Model2> Usernames { get; set; }
}
模型2:
class Model2 {
[Required]
public string Username { get; set; }
}
查看:
<% Html.EnableClientValidation(); %>
<% using (Html.BeginForm()) { %>
<% foreach (var username in Model.Usernames) { %>
<% Html.RenderPartial("View2", username); %>
<br /><br />
<% } %>
<input type="submit" />
<% } %>
視圖2:
<%= Html.EditorFor(f => f.Username) %>
<%= Html.ValidationMessageFor(a => a.Username)%>
這是MVC2客戶端驗證失敗,因爲它驗證通過現場ID的POC ...
您對除去xVal參考資料是正確的。我想這應該是。我不確定你的第二種情況。 – Pradeep 2011-01-10 16:17:41
MVC3現在出來:)。 – 2011-01-13 19:14:47