Frage

MicrosoftMvcJQueryValidation.js wird von ASP.NET MVC 2 für die Client-seitige Validierung verwendet.

Haben Sie Probleme mit dieser Datei einfach nicht richtig funktioniert und mich gefragt, ob ich die falsche Version.

Die Version Ich kam für Futures von der Quelle verwenden.

 MicrosoftMvcJQueryValidation.js
 5,626 bytes
 11/17/09 10:43:12am

Es gibt zwei Gründe, warum ich denke, dass ich die falsche Version haben:

1) Ich habe tatsächlich diesen Code nennen die Validierung Routine zu bekommen überhaupt arbeiten. Dies liegt daran, dass die Standard-Client-Validierungsfunktion nun in FormContext.cs eingebettet Sys.Mvc.FormValidation.enableClientValidation ist.

 ViewContext.FormContext.ClientValidationFunction = "EnableClientValidation";

2) Es gibt einige Code aus jquery.validate.js das tut die followin:

  this.settings.errorPlacement
    ? this.settings.errorPlacement(label, $(element) )
    : label.insertAfter(element);

Dies erfordert in dieser Funktion in MicrosoftMvcJQueryValidation.js:

 errorPlacement: function(error, element) {
        var messageSpan = fieldToMessageMappings[element.attr("name")];
        $(messageSpan).empty();
        $(messageSpan).removeClass("field-validation-valid");
        $(messageSpan).addClass("field-validation-error");
        error.removeClass("input-validation-error");
        error.attr("_for_validation_message", messageSpan);
        error.appendTo(messageSpan);
    },

Das Problem ist, dass das Element durch jQuery.validate mit dem jQuery $(element) Ausdruck eingewickelt wurde.

Daher element.attr("name") ist nicht definiert, aber element[0].attr("name") gültig ist.

Ich habe genommen MicrosoftMvcJQueryValidation.js aus der Futures-Download auf Microsofts Website . `

Ich kann andere MicrosoftMvcJQueryValidation Version finden - aber ich bin sicher, dass es sein muss. Kann mir jemand helfen?

War es hilfreich?

Lösung

Ab 17. Dezember 2009 die neueste Version von MicrosoftMvcJQueryValidation.js verfügbar ist in der Futures herunterladen Projekt .

Seien Sie vorsichtig MicrosoftMvcJQueryValidation.js aufzunehmen und NICHT der gleichnamigen MicrosoftMvcValidation.js.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top