0
我使用jQuery validation plugin在客戶端驗證我的表單。我爲每個具有正則表達式(自定義)屬性的HTML控件添加一個使用addMethod函數的新方法。我的HTML控件看起來像。jQuery驗證插件
<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();
});
在這裏,我給方法的名稱控件ID這是txtInf。在下面的行中,我需要給txtInf,但我想使用controlId變量,因爲我想使這個函數成爲一個通用的函數。但是,如果我直接寫入controlId,它將使用相同的方法搜索方法。但實際上添加的方法是txtInf。所以我需要通過使用controlId變量來推廣這條線。
$(this).rules("add", {txtInf: "^[a-zA-Z'.\s]{1,40}$" });