2009-12-10 1 views
5

MicrosoftMvcJQueryValidation.js jest używany przez ASP.NET MVC 2 do sprawdzania poprawności strony klienta.Gdzie jest odpowiednia wersja pliku MicrosoftMvcJQueryValidation.js dla MVC 2 beta 2?

Problem z tym plikiem nie działa poprawnie i zastanawiam się, czy mam złą wersję.

Wersja, której używam, pochodziła ze źródła przyszłości.

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

Istnieją dwa powody, myślę, że mam złą wersję:

1) I rzeczywiście nazwać ten kod, aby uzyskać procedurę walidacji działa w ogóle. Wynika to z faktu, że domyślną funkcją sprawdzania poprawności klienta osadzoną w FormContext.cs jest Sys.Mvc.FormValidation.enableClientValidation.

ViewContext.FormContext.ClientValidationFunction = "EnableClientValidation"; 

2) Jest jakiś kod z jquery.validate.js która robi followin:

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

To stawia pod znakiem tej funkcji w 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); 
    }, 

Problem polega na tym, że element został opakowany za pomocą wyrażenia jQuery jQuery.validate.

Dlatego element.attr("name") jest niezdefiniowany, ale element[0].attr("name") jest ważny.

Pobrałem MicrosoftMvcJQueryValidation.js z transakcji futures na Microsoft's site. `

Nie mogę znaleźć żadnej innej wersji MicrosoftMvcJQueryValidation - ale jestem pewien, że musi istnieć. Czy ktoś może pomóc?

+0

Czy możesz wyjaśnić, który podgląd ASP.NET MVC 2, którego używasz? Nie ma "Beta 2", ale jest też Preview 2, a także Beta i RC. ASP.NET MVC 2 Preview 2 jest również zawarty w Visual Studio 2010 Beta 2. Tak, to jest mylące! – Eilon

+0

OK, to pytanie jest nieco przestarzałe, ponieważ istnieje RC. zobacz moje inne pytanie http://stackoverflow.com/questions/1934803/how-do-i-use-microsoftmvcationation-js-without-having-to-include-microsoftajax-js, które powinno pomóc –

+0

oh i miałem na myśli Preview 2 (i tak RC nie był wypisany, gdy napisałem to pytanie) i tak dalej. –

Odpowiedz

6

Od 17 grudnia 2009 r. Najnowsza wersja MicrosoftMvcJQueryValidation.js jest dostępna w wersji futures download project.

Należy uwzględnić: MicrosoftMvcJQueryValidation.js i NOT the similarly namedMicrosoftMvcValidation.js.

+1

Czy ten kod jest nadal aktualny teraz, gdy kontra2010 został wysłany, ponieważ łącze do kontraktów futures jest martwe, gdzie znajdę ten plik js? –

+2

Można go znaleźć w "Kodzie źródłowym ASP.NET MVC 2 RTM" lub w "Przyszłości programu ASP.NET MVC 2", dostępnej na stronie: http://aspnet.codeplex.com/releases/view/41742 –

+0

@tigermain Mimo, że VS 2010 został wysłany (na chwilę w chwili pisania tego tekstu), to, co wskazano tutaj, wydaje się być właściwym miejscem do znalezienia MicrosoftMvcJQueryValidation.js. Jeśli utworzę nowy projekt w VS dla projektu MVC 2 (niezwiązany z kontraktami futures), lub nawet z projektem podglądu MVC 3, ten plik domyślnie nie znajduje się w projekcie. Zakładam, że jeśli nadal będę kontrakty na MVC 2 i stworzyłem nowy projekt, to będzie on na miejscu. –