ASP.NET MVC 3: Необходимые шаги для ненавязчивой проверки на стороне клиента динамического/AJAX-контента
Каков полный набор Необходимые шаги для ненавязчивой проверки на стороне клиента для работы с динамически вставленными полями формы?
Соответствующие сообщения SO
ASP.NET MVC 3 ненавязчивая проверка на стороне клиента с динамическим контентом - Он нуждался в ненавязчивых атрибутах проверки, отображаемых в сгенерированном HTML, и сделал это, позвонив BeginForm
Проверка ASP.Net MVC 3 на AjaxForm - обманщик использовал Ajax.BeginForm
, который использует MicrosoftAjax вместо JQuery.validation.
PartialView и ненавязчивая проверка клиента не работают - У него была проблема с ненавязчивыми атрибутами проверки, которые не отображаются и не перегружают ViewContext.FormContext
в качестве обходного пути.
ASP.NET MVC 3: генерировать ненавязчивую проверку, когда BeginForm находится на макете - Обходной путь для ненавязчивых атрибутов проверки, которые не отображаются в HTML
Релевантные ссылки
Брэд Уилсон Ненавязчивая проверка клиента в ASP.NET MVC 3
Полное руководство для проверки в ASP.NET MVC 3 - часть 1
Полное руководство для проверки в ASP.NET MVC 3 - часть 2
Ненавязчивая проверка на стороне клиента с динамическим содержимым в ASP.NET MVC 3
Ответы
Ответ 1
В этот момент я считаю, что следующий полный набор требований:
- Создайте форму с помощью
Html.BeginForm
- Включить
ClientValidationEnabled
- Включить
UnobtrusiveJavaScriptEnabled
- Установите соответствующие атрибуты проверки свойств модели (не поля)
- Если помощники Html, используемые для создания элементов формы, не находятся в том же виде, что и вызов
Html.BeginForm
, используйте соответствующий обходной путь (см. обходной путь 1 и обходной путь 2)
- Включить
jquery
, jquery.validate.js
и jquery.validate.unobtrusive.js
файлы в этом порядке
- Убедитесь, что ненавязчивые атрибуты проверки присутствуют в HTML
- При использовании пользовательских валидаторов:
- убедитесь, что они добавлены в
jQuery.validator.unobtrusive.adapters
- убедитесь, что они добавлены в плагин проверки jQuery, вызвав
jQuery.validator.addMethod
.
- убедитесь, что это произошло раньше
$(document).ready()
, поскольку в этот момент это слишком поздно.
- Вызов
jQuery.validator.unobtrusive.parse
или jQuery.validator.unobtrusive.parseElement
для элементов, добавленных динамически после загрузки начальной страницы.