我正在尝试弄清为什么即使用户按照称为checkDomain
的其他方法使用gmail.com电子邮件地址,仍然可以提交我们的表单。
我想实时地看到我们在什么时候是真实的,在什么时候是错误的,因为这应该清除它,但是我在如何console.log
的价值上有空白。我们该怎么做?
$.validator.addMethod('checkDomain', function (value) {
return /^([\w-.]+@(?!gmail\.com)(?!yahoo\.com)(?!hotmail\.com)([\w-]+.)+[\w-]{2,4})?$/.test(value);
}, 'Please provide a business email.');
/*-----------------------------------------------------*/
/*-----------------------------------------------------*/
$(formId).validate({
rules: {
FirstName: "required",
LastName: "required",
Company: "required",
Primary_Interest__c: "required",
Company_Size__c: "required",
Phone: "required",
Email: {
required: true,
email: true,
checkDomain: true
},
MktoCompanyNotes: "required"
console.log(checkDomain);
},
答案 0 :(得分:0)
rules
对象应仅包含key:value
对,这些对代表字段名称和带有参数的相应规则。您不能只在其中粘贴一行JavaScript,而不能指望事情会破裂。
我在如何
console.log
我们的价值上处于空白。我们该怎么做?
您是否尝试过在函数本身中执行此操作,该函数本身已包含字段的值?
$.validator.addMethod('checkDomain', function (value) {
console.log(value); // <- HERE
return /^([\w-.]+@(?!gmail\.com)(?!yahoo\.com)(?!hotmail\.com)([\w-]+.)+[\w-]{2,4})?$/.test(value);
}, 'Please provide a business email.');
您的自定义规则似乎运行良好: