客戶端驗證對我而言僅適用於外鍵。客戶端驗證不能與外鍵一起使用
我
<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>
列入以及在我的web.config文件
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
集。
沒有自定義屬性或任何東西。這是簡單的東西
[Required(ErrorMessage = "Fiscal year is required")]
[Display(Name = "Fiscal Year")]
public int FiscalYearId { get; set; }
對此有何想法?我已經搜索了一個解決方案,但是我發現的所有情況都不起作用,並且大多數解決方案都表示要確保上面的兩個腳本都來源,並且將上面的兩個鍵添加到web.conifg文件中。
我沒有得到js錯誤,我用螢火蟲監控。一切看起來都很完美,但它顯然不是。
一旦我更正了非外鍵字段並重新提交,數據驗證就可以在服務器端工作。這是一個問題,因爲它正在創建一個雙重驗證,並且讓用戶感到困惑。
非常感謝幫助。
以下是Html部分。它包含在一個使用塊中。這是標準的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>
你可以檢查併發布生成的HTML在FiscalYearId下拉?另外,確保你的表單元素在@using(Html.BeginForm()){}塊中。 –
用html更新了我的問題 – Erik
是的,選擇沒有驗證屬性,這不是javascript問題 – karaxuna