Проверка достоверности MVC Rebind

Привет, я загружаю форму и использую ненавязчивую проверку на стороне клиента, расширенную с помощью надежного пакета nuget. Все это работает хорошо, но теперь я пытаюсь загрузить части формы с помощью ajax.

После того, как эти части были загружены с использованием ajax, проверка не привязана к новым полям.

Для обычной проверки я могу повторно связать его, используя

    $.validator.unobtrusive.parse('#form');

Есть ли аналогичный метод для повторной привязки их надежной проверки?


comment
Все надежно, пока вы не отключите JavaScript.   -  person George Stocker    schedule 30.10.2015
comment
javascript не отключается   -  person Pete    schedule 30.10.2015
comment
Тот же код выполнит повторную проверку надежной проверки (но перед вызовом $.validator.unobtrusive.parse('#form'); вы должны вызвать $('#form').data('validator', null);   -  person    schedule 31.10.2015
comment
Привет @Stephen, только что вернулся к работе и опробовал твое предложение, и, похоже, оно помогло, спасибо. Если вы хотите опубликовать это как ответ, я приму это   -  person Pete    schedule 16.11.2015


Ответы (1)


защита от дурака добавляет проверку на стороне клиента так же, как это делают атрибуты проверки MVC, определяя правило, которое будет добавлено к проверке jQuery с помощью функций $.validator.addMethod() и $.validator.unobtrusive.adapters.add(), поэтому синтаксический анализ валидатора также будет работать для атрибутов проверки защиты от дурака.

Обратите внимание, что перед повторным анализом валидатора вы должны сбросить валидатор на null

var form = $('form');
form.data('validator', null);
$.validator.unobtrusive.parse(form);
person Community    schedule 16.11.2015
comment
ОМГ спасибо! Это также полезно, если вы используете другие плагины, которые искажают DOM. Я использую модуль под названием steps, который незаметно клонирует DOM, но валидатор по-прежнему имеет ссылки на исходные элементы управления, поэтому пароль equalTo всегда сравнивался с исходным элементом управления (с пустым значением). Очень надоедливый! - person Kris Oye; 27.06.2016