Функция проверки клиента ASP.NET MVC 2 в форме Ajax - PullRequest
3 голосов
/ 21 марта 2010

Моя проблема заключается в следующем:

Я использую функцию проверки клиента инфраструктуры MVC 2.0.

Все хорошо, когда я использую проверку в простой форме.

Но когда я использую форму Ajax и обновляю поля формы Ajax, проверка клиента не работает.

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

Кто-нибудь может мне помочь?

Ответы [ 2 ]

0 голосов
/ 14 мая 2012

Попробуйте это:

$(document).ajaxComplete(function () {
   $.validator.unobtrusive.parse(document);             
});
0 голосов
/ 23 апреля 2010

это происходит потому, что window.mvcClientValidationMetadata заполняет другую «область», чем функции проверки jquery или клиента mvc. Я решил это с помощью проверки jquery, добавив следующую строку перед формой ajax.begin. Как это:

<div id="result"></div>

<% Html.EnableClientValidation(); %>

<% using (Ajax.BeginForm(new AjaxOptions { UpdateTargetId = "result" }))

// here goes the form
<input type="submit" value="Create" />
<% } %>

this is the required code that needs to be added:


<script type="text/javascript">


function RefreshClientValidationMetadata() {
    var allFormOptions = window.mvcClientValidationMetadata;
    if (allFormOptions) {
        while (allFormOptions.length > 0) {
            var thisFormOptions = allFormOptions.pop();
            __MVC_EnableClientValidation(thisFormOptions);
        }
    }
}

RefreshClientValidationMetadata();

</script>

Конечно, функция RefreshClientValidationMetadata () может быть добавлена ​​в любом месте.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...