简单JQuery验证程序addMethod不工作
更新了底部的问题 我试图验证一个超级简单的表单。最终,用户名将与RegExp语句进行比较,密码也将进行比较。然而现在我只是想学习Validator addMethod格式 我目前有以下脚本:简单JQuery验证程序addMethod不工作,jquery,jquery-validate,Jquery,Jquery Validate,更新了底部的问题 我试图验证一个超级简单的表单。最终,用户名将与RegExp语句进行比较,密码也将进行比较。然而现在我只是想学习Validator addMethod格式 我目前有以下脚本: JQuery.validator.addMethod( "legalName", function(value, element) { if (element.value == "bob") { return false;
JQuery.validator.addMethod(
"legalName",
function(value, element) {
if (element.value == "bob")
{
return false;
}
else return true;
},
"Use a valid username."
);
$(document).ready(function() {
$("#form1").validate({
rules: {
username: {
legalName: true
}
},
});
});
如果我没有弄错的话,它应该返回false并用“使用有效的用户名”来回答
然而,它只是在提交
我在标题中链接到JQuery BEFORE Validator,如所示
我的uber simple表单如下所示:
<form id="form1" method="post" action="">
<div class="form-row"><span class="label">Username *</span><input type="text" name="username" /></div>
<div class="form-row"><input class="submit" type="submit" value="Submit"></div>
</form>
用户名*
最后,如何在else
阶段重新构造addMethod函数以返回trueif
和false
,同时保持对false
返回的消息警报?
(如果你不明白我想说什么,请忽略最后一部分:)
提前谢谢
感谢所有指出我的
JQuery
->JQuery
打字错误的人
新增->
理想情况下,我会尝试将其转换为一个简单的登录表单(用户名/密码)。它仅用于演示,因此不会附加数据库或任何东西,只是一些简单的js验证。我希望为您正在使用的
JQuery
,而不是JQuery
(littlej
)验证用户名
JavaScript区分大小写
>>> typeof jQuery
"function"
>>> typeof JQuery
"undefined"
如果$
也指向您的jQuery
对象(默认情况下是这样),那么您可以直接使用它
至于您的自定义验证函数,您可以像这样简化它
jQuery.validator.addMethod(
"legalName",
function(value, element) {
return (element.value != "bob");
},
"Use a valid username."
);
对于不区分大小写的比较,首先对
值使用toLowerCase()
。我可以通过将JQuery.validator.addMethod
更改为$.validator.addMethod
来修复第一部分
我不完全理解你的第二个问题。如果你描述了你感兴趣的行为,也许我可以帮你做到这一点。试试看
jQuery.validator.addMethod("legalname", function(value, element) {
var i = /^bob$/i;
return (!(i.test(value)));
}, "Invalid user name");
请参阅使用jQuery
(小j
)而不是jQuery
(大写)感谢所有提到区分大小写打字错误的人!现在,我将尝试更好地解释第二部分。谢谢,我在底部添加了另一个问题,如果您愿意看一看的话。谢谢您的详细回答并能够解读第二部分!如果你愿意看的话,我还添加了一个问题。@tehaaron你可以通过发布一个新问题获得更好的曝光率:)这是真的……这样你可以得到另一个问题的答案;)哈哈