0

为什么@Html.TextBoxFor和其他助手会跳过 jquery.validation 属性并创建没有这些的元素?我错过了一些参考资料还是什么?这是 MVC 3.0 项目。

如果我像这样手动添加它们:

@Html.TextBoxFor(x => x.Name, 
       new { data_val="true", data_val_required="Need that field" })

然后不显眼的验证工作。但它假设构建元素并根据模型的DataAnnotations. 模型在那里,表单主体内的文本框,但仍然无法正常工作。会是什么呢?

更新:UnobtrusiveJavaScriptEnabled设置trueweb.config

4

3 回答 3

1

请确保您的 web.config 文件中有这两行

<appSettings>
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
于 2013-04-11T21:55:23.620 回答
0

要使不显眼的验证正常工作,您需要确保将UnobtrusiveJavaScriptEnabled其设置为true您的Web.config并且您已包含以下 3 个脚本:

  • jQuery (~/Scripts/jquery-1.8.2.js)
  • jQuery 验证 (~/Scripts/jquery.validate.js)
  • 使用 jQuery Validate (~/Scripts/jquery.validate.unobtrusive.js) 进行不显眼的客户端验证的 MVC 插件。
于 2013-04-11T21:57:46.773 回答
0

1.如果文本框是通过ajax加载的,它可能不会被解析为不显眼的验证。2.检查呈现的html是否存在文本框的data-val-required属性以确定它是服务器端还是客户端问题。

于 2013-04-11T22:02:21.867 回答