我目前正在这里寻找将项目从 MVC1 迁移到 MVC2。我们使用 xVal 进行客户端验证。
据我了解,我只需要删除对 xVal 的引用并用 MVC2 EnableClientSideValidation 替换它就可以了。还需要什么吗?
此外,由于 xVal 无法在客户端验证模型列表,MVC2 + ClientSideValidation 仍然是这种情况吗?(我对“模型列表”的意思是对 a 进行验证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 客户端验证失败的 POC,因为它通过字段 id 进行验证...