我在一个mroe jQuery插件的Validate PLugin of Jquery中创建自定义规则。我正在使用jQuery插件https://github.com/Bluefieldscom/intl-tel-input
来格式化电话号码。我在这样的验证插件中包含了规则。
$("#UserSettingsForm").validate({
rules: {
"data[User][phone]": {
required: true,
fieldPresent: function () {
return $("#UserPhone").intlTelInput("isValidNumber");
}
}
},
});
如果数字有效,则返回$("#UserPhone").intlTelInput("isValidNumber");
true / false。但它没有附加到元素"数据[用户] [手机]",我可以将它附加到元素而不提及ID,以便我可以全局使用它以及它使用它来验证我的插件电话验证也是如此。
答案 0 :(得分:2)
使用库的addMethod功能:
$.validator.addMethod('isValidNumber',function (value,element){
return this.optional(element) || $(element).intlTelInput('isValidNumber');
},'Please specify a valid phone number');
然后你的规则看起来像这样:
rules: {
required:true,
isValidNumber:true
}