jQuery.La Validation.Discrète la validation côté client ne fonctionne que lorsque les scripts sont sur la page d'affichage de

J'ai un ASP.NET MVC 4 App qui utilise le jQuery.validation.js plugin et MVC est jQuery.validation.unobtrusive.js. J'ai utiliser des annotations de données sur mon modèle de vue de valider une zone de texte de saisie d'un entier.

Ce (imbriqué) la vue est chargé au sein d'un parent vue à l'aide de...

<% Html.RenderPartial("New"); %>

Un premier un premier chargement de la page, la validation côté client fonctionne. Mais tout le rechargement de l'affichage imbriqué avec un appel ajax, la validation côté client ne fonctionne plus. Pourquoi est-ce?

Mise à jour: (exemple de Code à partir de autonome du solution ci-dessous)

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

Exemple:

var saveAndUpdate = function (url) {
    var myForm = $('form', $('#TheDivThatContainsTheNewHTML'));
    $.ajax({
        url: url,
        type: 'POST',
        data: myForm.serialize(),
        success: function (result) {
            $('#TheDivThatContainsTheNewHTML').html(result);
            $.validator.unobtrusive.parse($('#TheDivThatContainsTheNewHTML'));          
        },
        error: function (xhr, ajaxOptions, thrownError) {
            alert(xhr.status);
            alert(thrownError);
        },
        dataType: 'html'
    });
}

OriginalL'auteur duyn9uyen | 2013-04-19