jquery - 具有动态添加字段的客户端验证

标签 jquery asp.net-mvc asp.net-mvc-3 unobtrusive-validation

我在 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/

相关文章:

css - css 中的站点根翻译

asp.net-mvc - 授权属性的 MVC5 声明版本

asp.net-mvc-3 - MVC 3将无法从Areas子文件夹提供内容文件

asp.net-mvc-3 - 如何停止在 ASP.NET MVC 3 beta 1 中编码字符串?

javascript - 使用 AJAX 查询进行按键按下与更改时比较 : which is better?

javascript - 我可以触发点击事件onload吗

javascript - jQuery .css() 附加或覆盖

asp.net - 如何防止 ASP.NET 记录身份验证失败?

Jquery ajaxStart 和 blockUI

javascript - RequireJS'ing 一个没有全局 $ 变量的 jQuery 插件