【发布时间】:2012-01-21 22:16:25
【问题描述】:
我有一组要显示的对象,但是 ValidationMessageFor 生成的跨度不包括所有验证属性:
<span class="field-validation-error">This field is required</span>
代替:
<span class="field-validation-error" data-valmsg-replace="true" data-valmsg-for="Questions[0].SingleAnswer"></span>
这就是我生成 html 的方式:
<fieldset id="dr_profileUpdates">
@Html.EditorFor(model => model.Questions)
</fieldset>
这是我的编辑器模板:
@Html.ValidationMessageFor(model => model.SingleAnswer)
@Html.TextBoxFor(model => model.SingleAnswer, new { @class = "textBoxDefault" })
验证有效,但是在填写文本框并专注于它之后跨度并没有消失 - 我认为这是因为跨度没有正确生成
感谢任何帮助。
编辑:实际上,在回发到服务器并返回部分视图后(假设 ModelState 无效),这些属性不会再次生成 - 它似乎只会影响 ValidationMessage。有什么想法吗?
谢谢,
【问题讨论】:
-
您在视图或 .config 中设置了
HtmlHelper.UnobtrusiveJavaScriptEnabled = true;标志?
标签: html asp.net-mvc razor