Я использую клиентскую функцию проверки платформы MVC 2.0 (с Html.ValidationMessageFor()
и Html.EnableClientValidation()
).
Все хорошо, когда я использую проверку в простой форме.
Но когда я получаю эту форму через Ajax jQuery
$.get('PathToMyForm', function(htmlResult) {
$('selector').html(htmlResult);
});
клиентская проверка не работает. Почему?
У меня тоже были проблемы с проверкой MVC и частичными представлениями. Я разобрался с этим, используя jquery.validate.js вместо встроенной клиентской проверки. Вы можете попробовать это.
Может быть, jQuery не оценивает код JavaScript в ответе Ajax?
Попробуйте использовать свойство dataType в вызове Ajax,
$.get('PathToMyForm', {dataType 'html'}, function(htmlResult) {
$('selector').html(htmlResult);
});
Из Документация jQuery :
dataType По умолчанию: Intelligent Guess (xml, json, script или html)
Тип данных, которые вы ожидаете от сервера. Если ничего не указано, jQuery будет разумно пытаться получить результаты на основе MIME-типа ответа (MIME-тип XML даст XML, в 1.4 JSON выдаст объект JavaScript, в 1.4 скрипт выполнит скрипт и все, что угодно. иначе будет возвращено в виде строки).