Обновите проект MVC1 / XVAL до MVC2 и совместимостью с проверкой на стороне клиента
Вопрос
В настоящее время я смотрю здесь, чтобы перенести проект от MVC1 на MVC2. Мы используем XVal для проверки на стороне клиента.
Из того, что я понимаю, мне нужно только удалить ссылки на XVal и заменить на MVC2 EnableCliTyVideValidation и должен сделать трюк. Все остальное потребуется?
Кроме того, с XVal не смогли проверять на стороне клиента список моделей, это все же в случае с MVC2 + CLISTIDYVALIDALTION? (что я имею в виду в разделе «Список моделей», делает проверку на 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);
}
Model1:
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 не удается, поскольку она подтверждает полей ID ...
Решение
Был там, сделал это, получил футболку. И желаю, чтобы я никогда не пошел туда - Valuation MVC2 откровенно не наравне с XVal, когда у вас будет правильно реализован XVal. Кроме того, проверка MVC3 намного лучше сделана. Итак, если бы я спрыгнул с XVal, я бы нарочно сделал его работать с MVC3, который является много разным зверя.
Другие советы
Хотя я несколько подписываюсь на то, что Wyatt сказал здесь, особенно часть о MVC3, но я использовал валидацию клиента MVC2, и она вообще не было плохого опыта.
Чтобы ответить на ваш вопрос, вам необходимо сделать следующее: 1. Включите Microsoftajax.js и microsoftmvcvalidation.js по вашему мнению. 2. Затем просто позвоните помощнику <% HTML.enableClientValidation (); %>
Он должен забрать ваши правила проверки модели даматии и дать вам валидацию на стороне клиента без особых усилий.