jQuery.Die Validierung.Unauffällig die clientseitige Validierung funktioniert nur, wenn Skripte auf der Seite ansehen
Ich habe eine ASP.NET MVC 4 App verwendet, die jQuery.validation.js plugin und MVC ' s jQuery.validation.unobtrusive.js. Ich die data annotations auf meine view-Modell zu validieren einer textbox die Eingabe auf eine Ganzzahl.
Diese (verschachtelte) Ansicht geladen wird in einer übergeordneten Ansicht mit...
<% Html.RenderPartial("New"); %>
Einer der ersten anfänglichen Seite laden, die clientseitige Validierung funktioniert. Aber jedem nachladen der nested-Ansicht mit einem ajax-call, client-seitige Validierung nicht mehr funktioniert. Warum ist das so?
Update: (Code-Beispiel aus webdeveloper ist Lösung unten)
$.validator.unobtrusive.parse($('form'));
Beispiel:
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'
});
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
But any reloading of the nested view with an ajax call, client side validation no longer works. Why is that?
Validierung gilt auf
document ready
, wenn Sie erfrischende Seite sollten Sie manuell init überprüfung Ihrer form.Wie diese:
Gleiche Frage: jquery.überprüfen.unauffällig funktioniert nicht mit dynamischen injiziert Elemente