2

Visual Studio 2010 RC でリリースされたバージョンの MVC でクライアント側の検証が機能しないようです。

1.0 からのアップグレードと、VS に付属のテンプレートを使用した 2 つのプロジェクトで試しました。

テンプレートバージョンは機能すると思いますが、機能しません。次のスクリプトを追加しました。

<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: ユーザーが 1 つのページを編集し、別のページをテストしています。

ただし、MVC2 テンプレート プロジェクトでクライアント側の検証を行うことができません。たとえば、登録ページで機能させる方法を誰かが知っている場合は、答えてください。

4

2 に答える 2

3

私も同じ問題を抱えていました.MS(scottGuとhaacked)による例は、彼らがどのバージョンについて話しているのか本当にわからないので少し混乱しています.haackedは新しいバージョンが出るたびに彼の投稿を更新します.あなたには関係ありません:(。

VS 2010 で jQuery 検証を機能させるには、次の手順を実行します。

  1. MicrosoftMvcJQueryValidation.js ファイルが必要だと答えたので、このファイルを取得するにはいくつかの方法があります。haacked post: ASP.NET MVC 2 Custom Validationのサンプル プロジェクトから取得しました。
  2. すべての JS 参照を削除し、これと jquery.validate.min.js だけを残します
  3. call <% Html.EnableClientValidation(); %> フォームの開始タグの前
  4. Html.ValidationMessageFor(.. をフィールドに配置することを忘れないでください。これは、エントリをクライアント検証 JSON オブジェクトに追加するためのトリガーになるためです。

上記のすべてを行ったと思いますが、ページに MicrosoftMvcValidation.js への参照を残しました。このファイルの最後に、MS クライアント側の検証へのフックがあることに注意してください。

面白いことに、今朝この問題についてブログを書こうと思っていたところ、あなたの質問を見つけました\これが役に立てば幸いです

于 2010-03-27T06:04:59.597 に答える
1

これをMVC 2 RCで機能させるには運がありませんでした。SO に関する他の質問によると、MVC Futures リリースから MicrosoftMvcJQueryValidation.js ファイルを取得し、左足を頭の後ろに置き、Dixie を 30 分間口笛で吹く必要があります。私はこれ以上のことをしましたが、それを機能させることができませんでした。

ただし、jQuery Validation プラグインを直接使用することで機能するようになりました。より多くの作業が行われますが、仕事は完了します。

RTMで修正されることを願っています。

于 2010-03-25T19:59:40.347 に答える