微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将jQuery验证器规则添加到ASP中的动态创建元素

我在MVC3项目的页面上有一些动态插入的表单域。通常,我们将添加jQuery验证服务器端,但在这种情况下,我们不能(UI中的多个字段为一个隐藏字段生成值 – 这是提交的内容,我们无法验证隐藏字段,所以我们必须为用户可以看到的字段添加仅用于UI的验证)

一旦这些字段被动态地添加页面中,我在容器上运行以下代码

$container.find(".date").rules("add",{
    required: true,messages: {
        required: "The date is required"
    }
});

但它不行!奇怪的是,禁用上述代码,创建动态元素,然后在浏览器中运行代码JS控制台工作,但只有认验证消息显示

我很失落有任何想法吗?

我使用jQuery验证1.9.0&不引人注意的插件

解决方法

现在我明白了Unobtrusive插件方面的事情(我明白ASP.NET有什么不同),这就是你需要做的事情:

添加新元素后,调用$ .validator.unobtrusive.parseElement(newElement),并将其添加到表单中。根据您的建议,您需要在新的form元素中设置data-val和data-val-required属性

所以你最终得到这个:

//create new form element
$('form fieldset').append('<br>New Field: '+
     '<input type="text" data-val="true" data-val-required="A date is required." name="newField">'+
     ' * Also required');

//add new rules to it
$.validator.unobtrusive
  .parseElement($('form').find('input[name="newField"]').get(0));

如下图所示:http://jsfiddle.net/ryleyb/LNjtd/2/

原文地址:https://www.jb51.cc/jquery/183586.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐