ASP.NET MVC ValidationSummary для проверки на стороне клиента

Наша проверка на стороне сервера (с помощью аннотаций данных) работает отлично и публикует ошибки в нашей ValidationSummary так, как нам нравится. Проверка на стороне клиента также работает, однако ошибки отображаются справа от элемента управления, а сводка проверки никогда не отображается. Есть ли простой способ сделать так, чтобы экран проверки клиента был похож на экран проверки на стороне сервера?

3 ответа

Решение

Если вы говорите об использовании ASP.NET MVC 2 Preview 2 или любой другой сгенерированной проверке на стороне клиента, которая использует библиотеку проверки jQuery, вам следует проверить errorLabelContainer а также errorContainer в документации для библиотеки проверки jQuery.

Это должно сделать проверку на стороне клиента более похожей на сводку проверки на стороне сервера.:-)

HTHS,
Чарльз

Ps. Если вы не можете изменить $('myForm').Validate()варианты, просто используйте $.validator.setDefaults(); подход. Хотя вы можете столкнуться с проблемами, связанными с более чем одной формой / резюме проверки на странице.

Вы должны убедиться, что для проверяемого объекта модели, что .Error собственность от IDataErrorInfo интерфейс не String.Empty, Это может вызвать поведение, которое вы, кажется, имеете.

Не уверен, что это хорошая практика для использования с ASP.NET MVC 2, но с xVal легко сделать проверку на стороне клиента.

<div id="validationSummary">
        <%= Html.ValidationSummary("Please fix the following problems:") %>
</div>

<%= Html.ClientSideValidation("booking", typeof(Booking))
        .UseValidationSummary("validationSummary") %>
Другие вопросы по тегам