2010-04-19 12 views
5

Ich benutze die Client-Validierungsfunktion des MVC 2.0 Framework (mit Html.ValidationMessageFor() und Html.EnableClientValidation()).ASP.NET MVC Client Validierung mit Teilansichten und Ajax

Alles ist schön, wenn ich die Validierung in einer einfachen Form benutze.

Aber wenn ich diese Form über jQuery Ajax erhalten

$.get('PathToMyForm', function(htmlResult) { 
    $('selector').html(htmlResult); 
}); 

Client Validierung nicht funktioniert. Warum?

+0

* Wie * funktioniert es nicht? Die neuen Felder werden nicht validiert? Nichts ist validiert? Wo ist der Validierungscode? In der partiellen? In der enthaltenden Seite? Ein bisschen mehr Code und Erklärung wäre hilfreich. – tvanfosson

+0

tvanfosson, Ich habe ein Modell mit [Erforderlich] -Attribut. Im allgemeinen Szenario (ohne AJAX, nur Html.RenderPartial) Client Validierung funktioniert gut - wenn ich leere Zeichenfolge in Textfeld und Fokus auf ein anderes Textfeld, bekomme ich Validierung Nachricht. Aber mit AJAX - ich bekomme diese Nachricht nicht. – griZZZly8

Antwort

0

Ich hatte Probleme mit MVC Validierung und Teilansichten auch. Ich habe es aussortiert, indem ich jquery.validate.js anstelle der eingebauten Client-Validierung verwendet habe. Sie können das ausprobieren.

+0

jQuery.validate kann mein Modell nicht sehen. Ich möchte Validierungsregeln in Modellklassen definieren. – griZZZly8

+0

Sie können dies tun. Überprüfen Sie die ASP.NET MVC-Futures http://aspnet.codeplex.com/releases/view/41742 –

0

Vielleicht bewertet jQuery den JavaScript-Code auf der Ajax-Antwort nicht?

Versuchen Datatype-Eigenschaft auf den Anruf, Ajax

$.get('PathToMyForm', {dataType 'html'}, function(htmlResult) { 
    $('selector').html(htmlResult); 
}); 

Vom jQuery documentation:

datatype Standard: Intelligente Raten (xml, json, ein Skript oder html)

Die Art der Daten, die Sie vom Server erwarten. Wenn keine angegeben ist, versucht jQuery auf intelligente Weise, die Ergebnisse zu erhalten, basierend auf dem MIME-Typ der Antwort (ein XML-MIME-Typ ergibt XML, in 1.4 JSON ergibt ein JavaScript-Objekt, in 1.4 Skript wird das Skript ausgeführt und alles Mögliche else wird als String zurückgegeben).

+0

Rafael Mueller, danke für deine Antwort, aber es hilft mir nicht. Ich habe Alert ('Skripte Test') in meine Teilansicht eingefügt - es funktioniert. Aber ich habe immer noch Probleme mit der Validierung. – griZZZly8

Verwandte Themen