0

レイアウトページには、検証Javascriptファイルへの次のリンクがあります。

 <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"> </script>
    <script src="@Url.Content("~/Scripts/jquery.validate.min.js")"type="text/javascript"> </script>
         <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")"type="text/javascript"></script>

私のエンティティは、次のような検証属性で装飾されています

[Required(ErrorMessage ="Please enter a customer name")]
    public string CustomerName { get; set; }

次に、私の見解では、更新フィールドの後に検証メッセージが指定されています。

<div class="label-for">@Html.LabelFor(model => model.CustomerName)</div>
<div class="editor">@Html.EditorFor(model => model.CustomerName)</div>
@Html.ValidationMessageFor(model => model.CustomerName) 

検証は機能していますが、クライアント側では機能していません。これを理解する方法では、フィールドの1つを別のフィールドにタブで移動した後、空白のままにするとエラーメッセージが表示されるはずですが、クライアント側の検証を機能させるために他に必要なものはありますか?

4

3 に答える 3

0

これが機能する可能性があります:web.configファイルで、「ClientValidationEnabled」を「True」に設定していることを確認してください

<appSettings>
    <add key="ClientValidationEnabled" value="true"/>
</appSettings>

注: MVC3 Web プロジェクトでは、2 つの web.config ファイルがありました。1 つは "View" フォルダーの下にあり、もう 1 つはルート Web プロジェクトの下にあります。ルートにあるものが他のものを上書きしないようにしてください。

于 2011-07-08T20:46:58.780 に答える
0

jqueryIIRCとjquery.validateバージョンの間にいくつかの非互換性がありました。古いバージョンの jquery 1.4.4 を使用しているようです。最新のものに更新してみてください。たとえば、ASP.NET MVC 3 Tools Updateをインストールし、Visual Studio で新しい ASP.NET MVC プロジェクトを作成すると、次のスクリプトの適切なバージョンが取得されます: jquery、jquery.validate、jquery.validate.unobtrusive。

于 2011-07-08T20:55:47.947 に答える
-2

jQueryの検証は、検証メカニズムとは何の関係もありません。たぶん、Microsoft.Ajax.Validationが責任を負うべきです。ただし、jquery.validationを使用するには、コードを記述する必要があります。それで全部です。箱から出して何もしません。

于 2011-07-07T09:31:57.060 に答える