我正在使用Steve Sanderson的BeginCollectionItem实用程序来渲染要在MVC3中编辑的对象列表,当您从迭代器渲染整个集合时,它非常有用。当我尝试将一个新项添加到集合中时,我的问题就出现了,并返回表示该对象的html。出于某种原因,我的数据注释没有在代码中的html中呈现。
是否有任何可用的修复方法,或者是否有任何不同的方法,无需手动编写验证,我可以做些什么来解决这个问题?
感谢。
答案 0 :(得分:22)
需要考虑的事项:
FormContext
,否则不会呈现数据注释。如果您使用的是局部视图,请在顶部添加以下内容:-
if (this.ViewContext.FormContext == null)
{
this.ViewContext.FormContext = new FormContext();
}
-
$("form").removeData("validator");
$("form").removeData("unobtrusiveValidation");
$.validator.unobtrusive.parse("form");