我正在使用Jquery Validation插件来验证webform。 控件根据控件类型动态加载。对于某些控件,我需要使用正则表达式进行验证。我需要为每个控件动态传递RegEx。 我有以下功能,但如何对需要使用RegEx验证的所有控件进行概括
$.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的新手。请帮忙
答案 0 :(得分:0)
向您的控件添加自定义data
属性,并使用您的RegEx填充它。然后,您可以在验证函数中读取该值并应用它。
即。 “装饰”需要使用某些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." />
然后在jQuery中将验证器附加到每个:
$(".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);
});
我还没有测试过这段代码,因此您可能需要根据具体需要对其进行一些调整,但我希望这能让您有所了解。