【发布时间】:2011-04-22 12:10:56
【问题描述】:
我正在使用 jQuery validation plugin 在客户端验证我的表单。我正在为每个具有正则表达式(自定义)属性的 HTML 控件添加一个使用 addMethod 函数的新方法。我的 HTML 控件看起来像。
<input type="text" id="txtInf" name="txtInf" regex="some regular exp" error="check your inf"></input>
$("*[regex]").each(function () {
var controlId = $(this).attr('name');
var regex = new RegExp((this).attr('regex'));
var error = $(this).attr('error');
$.validator.addMethod(controlId, function (value, element) {
return this.optional(element) || false;
}, error);
$(this).rules("add", { '" + controlId + "': "^[a-zA-Z'.\s]{1,40}$" });
$(this).validate();
});
这里我将方法名称命名为 controlId,即 txtInf。在下面的行中,我需要提供 txtInf,但我想使用 controlId 变量,因为我想让这个函数成为一个通用函数。但是如果我直接写controlId,它会搜索相同的方法。但添加的方法实际上是 txtInf。所以我需要一些方法通过使用 controlId 变量来概括这条线。
$(this).rules("add", {txtInf: "^[a-zA-Z'.\s]{1,40}$" });
【问题讨论】:
标签: .net javascript jquery validation