クライアント側の検証は、外部キーに対してのみ機能しません。
私は持っています
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
含まれているだけでなく
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
web.configファイルに設定します。
カスタム属性などはありません。それは同じくらい単純なものです
[Required(ErrorMessage = "Fiscal year is required")]
[Display(Name = "Fiscal Year")]
public int FiscalYearId { get; set; }
これについて何かアイデアはありますか?解決策を探しましたが、まったく機能しない場合があります。ほとんどの解決策では、上記の2つのスクリプトがソースであり、上記の2つのキーがweb.conifgファイルに追加されていることを確認します。
jsエラーは発生せず、firebugで監視しました。すべてが完璧に機能しているように見えますが、明らかにそうではありません。
非外部キーフィールドを修正して再送信すると、データ検証はサーバー側で機能します。これは、二重の検証を作成していて、ユーザーを困らせるため、問題になります。
ヘルプは大歓迎です。
以下はHTML部分です。usingブロックに含まれています。これは、MVC3で生成された標準のCRUDコードです。
<div class="editor-label">
<label for="FiscalYearId">Fiscal Year</label>
</div>
<div class="editor-field">
<select id="FiscalYearId" name="FiscalYearId">
<option value="">---Select Fiscal Year---</option>
<option value="1">FY2013</option>
</select>
<span class="field-validation-valid" data-valmsg-for="FiscalYearId" data-valmsg-replace="true"></span>
</div>