2

我似乎無法獲得與Visual Studio 2010 RC發佈的MVC版本一起工作的客戶端驗證。是否在Visual Studio 2010 RC中破壞了MVC 2客戶端驗證?

我已經嘗試了兩個項目 - 從1.0升級,並使用VS來的模板之一。

我認爲模板版本可以工作,但事實並非如此。添加了以下腳本:

<script type="text/javascript" 
    src="<%= Url.Content("~/Scripts/MicrosoftMvcValidation.js") %>"> 
</script> 
<script type="text/javascript" 
    src="<%= Url.Content("~/Scripts/jquery.validate.js")%>"> 
</script> 

它們被正確下載到客戶端。增加了以下我的表單頁面:

<% Html.EnableClientValidation(); %> 
<%--yes, am aware of the EndForm() bug! --%> 
<% using (Html.BeginForm()) { %>  
<%--snip --%> 

,我可以看到在客戶端驗證腳本已被添加到窗體的底部。但是客戶端驗證仍然不會發生。

更糟糕的是,在我升級的項目中,客戶端驗證腳本永遠不會輸出到頁面中!

請注意:我特別詢問了VS2010 RC附帶的MVC2版本。此外,我知道如何谷歌;如果您不熟悉Visual Studio的候選版本中的這個問題,請不要浪費任何人的時間搜索和回答。謝謝。


錯誤ID10T:用戶正在編輯一個頁面並測試另一個頁面。

但是,我無法獲得MVC2模板項目的客戶端驗證。如果有人想知道如何讓它在註冊頁面上工作,請回答。

回答

3

我也有同樣的問題, 由MS(scottGu和haacked)的例子有點混亂,因爲你不知道他們正在談論哪個版本,並且每次新版本時都會更新他的文章是,所以你這不是與你有關:(

爲了讓jQuery驗證工作在VS 2010中執行以下操作:

  1. 爲您的回答您需要的文件MicrosoftMvcJQueryValidation.js,幾種方法得到這個文件,我從示例項目中得到它從破爛的帖子:ASP.NET MVC 2 Custom Validation
  2. 刪除所有的JS引用,只留下這個和jquery.validate.min.js
  3. 調用<%Html.EnableClientValidation(); %>在表格的開始標記之前
  4. 不要忘記把一些Html.ValidationMessageFor(..就因爲這你的領域是用於將enteries到客戶端驗證JSON對象

我猜你做了所有上述觸發,但留下的引用MicrosoftMvcValidation.js頁面上,通知在本月底文件存在掛鉤到MS客戶端驗證。

有趣我只是想在今天早上發佈關於這個問題的博客,並發現你的問題,\希望這可以幫助

1

我有沒有運氣得到這個在MVC 2 RC工作。根據SO上的其他問題,您必須從MVC Futures版本中獲取MicrosoftMvcJQueryValidation.js文件,將您的左腳放在頭後,然後鳴笛Dixie半小時。我做了這些和更多,並沒有能夠使其工作。

但是,我通過直接使用jQuery Validation插件來獲得它的工作。更多的工作,但它完成了工作。

希望它可以在RTM中修復。