2009-12-10 44 views
5

MicrosoftMvcJQueryValidation.js被ASP.NET MVC 2用於客戶端驗證。MVC 2 beta 2的MicrosoftMvcJQueryValidation.js的正確版本在哪裏?

這個文件有問題只是不正常工作,並想知道如果我有錯誤的版本。

我使用的版本來自期貨來源。

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

有兩方面的原因,我認爲我有錯版:

1)其實,我調用此代碼來獲取驗證程序的所有工作。這是因爲現在嵌入到FormContext.cs中的默認客戶端驗證功能是Sys.Mvc.FormValidation.enableClientValidation

ViewContext.FormContext.ClientValidationFunction = "EnableClientValidation"; 

2)從jquery.validate.js一些代碼,做的跟隨着:

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

這就需要這個功能在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); 
    }, 

的問題是,元素已被jQuery.validate與jQuery $(element)表達式包裝在一起。因此element.attr("name")未定義,但element[0].attr("name")有效。

我從Microsoft's site上的期貨下載中獲得MicrosoftMvcJQueryValidation.js。 `

我找不到任何其他MicrosoftMvcJQueryValidation版本 - 但我確定必須有一個。誰能幫忙?

+0

您能否澄清一下您正在使用的ASP.NET MVC 2的哪個預覽?沒有「Beta 2」,但有一個預覽版2以及Beta版和RC版。 ASP.NET MVC 2預覽版2也包含在Visual Studio 2010 Beta 2中。是的,它令人困惑! – Eilon 2009-12-26 22:11:53

+0

好吧,這個問題現在有點過時了,有一個RC。請參閱我的其他問題http://stackoverflow.com/questions/1934803/how-do-i-use-microsoftmvcvalidation-js-without-having-to-include-microsoftajax-js這應該有助於 – 2009-12-27 01:39:25

+0

哦,我的意思是預覽2 (當我寫這個問題時,RC仍然沒有出現) – 2009-12-27 01:40:04

回答

6

截至2009年12月17日,最新版本MicrosoftMvcJQueryValidation.js可在futures download project中獲得。

請注意包括MicrosoftMvcJQueryValidation.jsNOT the similarly namedMicrosoftMvcValidation.js

+1

這段代碼現在仍然相關vs2010已經發布,因爲期貨鏈接已經死了,我會在哪裏找到這個js文件? – 2010-05-02 13:10:42

+2

您可以在「ASP.NET MVC 2 RTM源代碼」或「ASP.NET MVC 2 Future」中找到它,它們都可以在http://aspnet.codeplex.com/releases/view/41742 – 2010-06-04 07:49:01

+0

@tigermain即使VS 2010已經發布(在撰寫本文時的一段時間),這裏指出的東西似乎仍然是找到MicrosoftMvcJQueryValidation.js的正確位置。如果我在VS中爲MVC 2(非期貨)項目或MVC 3預覽1項目創建新項目,則默認情況下該文件不在該項目中。我假設如果我仍然MVC 2期貨,並創建一個新的項目,它會在那裏,但。 – 2010-09-01 13:18:17

相關問題