不使用提交按钮将方法添加到jQuery验证
我有一个表单需要验证,但它没有提交按钮。 因此,为了完成验证,我遵循了上的示例 它告诉调用.valid()函数。 因此,我添加了以下工作正常的代码:不使用提交按钮将方法添加到jQuery验证,jquery,validation,jquery-validate,Jquery,Validation,Jquery Validate,我有一个表单需要验证,但它没有提交按钮。 因此,为了完成验证,我遵循了上的示例 它告诉调用.valid()函数。 因此,我添加了以下工作正常的代码: $(".getcars").click(function() { valid = $("#form1").valid(); if(valid){ ajaxCall(); }
$(".getcars").click(function() {
valid = $("#form1").valid();
if(valid){
ajaxCall();
}
});
现在我想向验证字段添加更多规则,所以我尝试了
jQuery.validator.addMethod("lettersandnumonly", function(value, element) {
return this.optional(element) || /^[0-9A-Za-z]+$/i.test(value);
}, "Letters and numbers only ");
jQuery.validator.addMethod("nowhitespace", function(value, element) {
return this.optional(element) || /^\S+$/i.test(value);
}, "No white space please");
$(".getcars").click(function() {
valid = $("#form1").valid(
{
rules: {
postal_code: {
maxlength: 6,
lettersandnumonly: true,
nowhitespace: true
}
}
});
if(valid){
ajaxCall();
}
});
但这是行不通的。有人能告诉我在添加规则时做错了什么吗?
rule
定义在对的初始调用中。由于valid()
仅对调用了validate()
的表单有效,因此我假设代码中有一行调用validate()
:
您只需将规则定义移动到初始调用中:
$("#form1").validate({
rules: {
postal_code: {
maxlength: 6,
lettersandnumonly: true,
nowhitespace: true
}
}
});
。。。然后像最初那样稍后调用.valid()
:
$(".getcars").click(function() {
valid = $("#form1").valid();
if(valid) {
ajaxCall();
}
});
顺便说一句,我试图验证的字段是请输入您的邮政编码或其一部分!
$(".getcars").click(function() {
valid = $("#form1").valid();
if(valid) {
ajaxCall();
}
});