Обновите проект MVC1 / XVAL до MVC2 и совместимостью с проверкой на стороне клиента

StackOverflow https://stackoverflow.com/questions/4647784

Вопрос

В настоящее время я смотрю здесь, чтобы перенести проект от 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 (); %>

Он должен забрать ваши правила проверки модели даматии и дать вам валидацию на стороне клиента без особых усилий.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top