我有一个表单,其中的字段预先填充了数据库中的数据,因为我需要根据新的数据格式架构更改电话号码,我还需要立即启动对填充前输入的验证。
我的JS代码如下:
根据新架构验证HR电话号码的方法:
$.validator.addMethod("mobileHR", function(phone_number, element) {
phone_number = phone_number.replace(/\(|\)|\s+|-/g, "");
return this.optional(element) || phone_number.length > 9 &&
phone_number.match(/^\+[0-9]{1,3}\.[0-9]{1,14}$/);
}, "Unesite broj u fromatu: +385.111234567");
和函数调用:
$(document).ready(function () {
// initialize validation
$('.form-horizontal').validate({
// set immediate validation, on event code 9
onkeyup: function (element, event) {
if (event.which === 9 && this.elementValue(element) === "") {
return;
} else {
this.element(element);
}
},
rules: {
"contactdetails[Registrant][Phone]": {
required: true,
mobileHR: true
}
},
messages: {
"contactdetails[Registrant][Phone]": {
required: "Molimo unesite broj telefona"
}
}
});
});
输入字段就像这些,并且已经填充了value参数,因为数据是从数据库中提取的。
<div class="controls">
<input kl_virtual_keyboard_secure_input="on" name="contactdetails[Registrant][Phone]" value="011123456" size="30" class="Registrantcustomwhois" type="text">
</div>
现在我想警告用户编辑数据,即使他没有在所需的输入字段中更改数据,也要更新他的电话号码的格式,所以我基本上想在已经加载的文件中调用validate()函数
小例子是here。