Я сейчас ищу здесь, чтобы перенести проект из MVC1 в MVC2. Мы используем xVal для проверки на стороне клиента.
Из того, что я понимаю, мне нужно только удалить ссылки на 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; }
}
Model2:
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" />
<% } %>
View2:
<%= Html.EditorFor(f => f.Username) %>
<%= Html.ValidationMessageFor(a => a.Username)%>
Это POC, в котором проверка на стороне клиента MVC2 не выполняется, так как она проверяется по идентификатору поля ...