gpt4 book ai didi

javascript - 使用 JQuery 验证器插件集成自定义函数和规则

转载 作者:行者123 更新时间:2023-11-28 01:22:52 27 4
gpt4 key购买 nike

我有一个带有电子邮件字段的表单。
作为验证的一部分,我想排除某些域(例如 gmail、yahoo 等)

我发现以下函数应该搜索子字符串,我认为这是搜索电子邮件字符串的不错选择: jquery/javascript check string for multiple substrings :

function isSubStringPresent(str){
for(var i = 1; i < arguments.length; i++){
if(str.indexOf(arguments[i]) > -1){
return true;
}
}
return false;
}

isSubStringPresent('myemail', 'gmail', 'yahoo', ...)

我对如何将此功能与 jquery 验证器插件集成感到困惑。

请看下面:

我的表单下面有以下内容:

$(document).ready(function(){ 
$.validator.addMethod(
"wrong_domain",
THE isSubStringPresent FUNCTION SHOULD BE INSERTED HERE SOMEHOW...
},
'Not an acceptable email' );

$.validator.classRuleSettings.wrong_domain = { wrong_domain: true};

$('#registration-form').validate({
rules: {
FirstName: {
required: true,
},

Email: {
required: true,
email: true,
wrong_domain: true
},

有人可以告诉我如何做到这一点吗?

最佳答案

尝试使用apply将多个排除的域传递给验证函数:

var excludes = ['myemail', 'gmail', 'yahoo'];
$.validator.addMethod(
"wrong_domain",
function(value, element) {
// take a shallow copy of excludes
var myArguments = excludes.slice(0);
// add value to the front of the arguments
myArguments.unshift(value);
// use myArguments as the arguments array for isSubStringPresent
return !isSubStringPresent.apply(this, myArguments);
},
'Not an acceptable email' );

这是一个示例 Fiddle 。这将在每次按键事件后验证输入。

关于javascript - 使用 JQuery 验证器插件集成自定义函数和规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23062948/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com