Jquery 使用RegEx对动态添加的控件进行表单验证
我正在使用Jquery验证插件来验证webform。 根据控件类型动态加载控件。对于某些控件,我需要使用正则表达式进行验证。我需要为每个控件动态传递正则表达式。 我有以下函数,但如何将其推广到需要使用正则表达式验证的所有控件Jquery 使用RegEx对动态添加的控件进行表单验证,jquery,asp.net,validation,jquery-plugins,Jquery,Asp.net,Validation,Jquery Plugins,我正在使用Jquery验证插件来验证webform。 根据控件类型动态加载控件。对于某些控件,我需要使用正则表达式进行验证。我需要为每个控件动态传递正则表达式。 我有以下函数,但如何将其推广到需要使用正则表达式验证的所有控件 $.validator.addMethod(varcharRegEx, function (value, element) { return this.optional(element) || /^[A-Za-z0-9\_
$.validator.addMethod(varcharRegEx, function (value, element) {
return this.optional(element) || /^[A-Za-z0-9\_]+$/i.test(value);
}, "Invalid entry, must contain only letters, numbers, or underscore.");
第二,有一种方法可以将错误消息显示为表单末尾的摘要。
我是Jquery的新手。请帮助为控件添加自定义的
数据
属性,并用正则表达式填充它。然后可以在验证函数中读取该值并应用它
例如,“装饰”需要使用css类验证的控件,例如:
<input id="control_1" class="to-validate"
data-regex="^[A-Za-z0-9\_]+$"
data-error-message="Invalid entry, must contain only letters, numbers, or underscore." />
我尚未测试此代码,因此您可能需要根据您的具体需要对其进行一些调整,但我希望这能给您一个想法。要附加到您选择的元素,只需添加一个选择器。对于不同的控件,我有不同的正则表达式进行验证。我需要在运行时动态添加正则表达式。感谢您的帮助。您所说的验证功能是指plugin@Floremin
myControl
和index
应该是什么?。每个函数(index,myControl)
基本上是一个for
循环,它通过一个包含所有html元素的数组,使用类来验证索引
是循环的当前索引,myControl
是数组中的当前html元素。查看此处了解更多信息:
$(".to-validate").each(function(index, myControl) {
var regex = $(myControl).data("regex");
var errorMsg = $(myControl).data("error-message");
var validatorName = $(myControl).attr("id");
$(myControl).validator.addMethod(validatorName, function(value, element) {
return this.optional(element) || new RegExp(regex).test(value);
}, errorMsg);
});