我在 ASP.NET MVC 中使用 jQuery 的非侵入式验证插件。服务器上呈现的任何字段都经过正确验证。
但是,如果我使用 JavaScript 在表单中动态添加字段,即使它具有适当的 HTML5 data-*
属性,它也不会被验证。
任何人都可以指导我如何实现这一目标的正确方向吗?
最佳答案
更简单的答案:
我正在使用 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"))
关于jquery - 具有动态添加字段的客户端验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5965470/