客户端验证对我而言仅适用于外键。客户端验证不能与外键一起使用
我
<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