【发布时间】:2011-07-09 04:55:47
【问题描述】:
在我的布局页面中,我有以下链接到验证 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)
验证正在工作,但它不在客户端,我理解的方式是,当其中一个字段在切换到另一个字段后留空时,应该显示错误消息,是否需要其他任何东西来获取客户端验证有效吗?
【问题讨论】:
-
您的 web.config 文件中是否将 appsettings “ClientValidationEnabled”和“UnobtrusiveJavaScriptEnabled”设置为 true? (它们应该是默认的)。
-
我在全局 ASAX 文件的 start 方法中将这些设置为 true,但是我会尝试在 web config 中执行 tis。
-
是的,它们已在网络配置中启用,正如您正确声明的那样,这必须是默认设置。
-
嗯,好的。那么它应该工作。你能尝试一个非常简单的例子吗?
-
不确定我能做些什么与我上面所做的不同?我向实体属性添加了所需的属性,验证消息被添加到视图中,脚本被添加到布局页面的头部。验证消息仅在单击保存按钮后显示??
标签: asp.net-mvc-3 client-side-validation