我正在使用jQuery的不显眼的验证插件与ASP.NET MVC。在服务器上呈现的任何字段都已被正确验证。
但是,如果我使用JavaScript动态添加表单中的字段,即使它具有适当的HTML5数据 – *属性,它也不会被验证。
任何人都可以指导我正确的方向如何实现这一目标?
解决方法
更简单的答案:
我使用的是MVC 4和JQuery 1.8。我已经使它成为一个模块化函数,它接受新增的元素的jQuery对象:
function fnValidateDynamicContent(element) { var currForm = element.closest("form"); currForm.removeData("validator"); currForm.removeData("unobtrusiveValidation"); $.validator.unobtrusive.parse(currForm); currForm.validate(); // This line is important and added for client side validation to trigger,without this it didn't fire client side errors. }
例如,如果您添加了一个id为tblContacts的新表,那么可以这样调用:
fnValidateDynamicContent("#tblContacts")