为什么@Html.TextBoxFor
和其他助手会跳过jquery.validation属性并创建没有这些属性的元素?我错过了一些参考文献吗?这是MVC 3.0项目。
如果我像这样手动添加它们:
@Html.TextBoxFor(x => x.Name,
new { data_val="true", data_val_required="Need that field" })
然后不显眼的验证工作。但它假设构建元素并根据模型DataAnnotations
放置这些属性。模型在那里,文本框在表单体内部,但仍然不起作用。会是什么呢?
upd:UnobtrusiveJavaScriptEnabled
设置为true
web.config
答案 0 :(得分:1)
请确保web.config文件中的这两行
<appSettings>
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
答案 1 :(得分:0)
要进行不显眼的验证,您需要确保UnobtrusiveJavaScriptEnabled
中的true
设置为Web.config
并且您已包含这3个脚本:
答案 2 :(得分:0)
1.如果文本框是通过ajax加载的,则可能无法解析Unobtrusive验证。 2.如果文本框中存在data-val-required属性,则检查呈现的html,以确定它是服务器端还是客户端问题。