Validation jquery表单验证未捕获空白SUMBISION
我可以提交我的表单,不管它是空白的还是部分填写的,这不应该发生,因为我使用的是jquery验证插件。我将插件脚本放在正确的位置,验证方法正确地附加到正确的表单选择器。还有什么问题Validation jquery表单验证未捕获空白SUMBISION,validation,jquery-plugins,jquery-forms-plugin,Validation,Jquery Plugins,Jquery Forms Plugin,我可以提交我的表单,不管它是空白的还是部分填写的,这不应该发生,因为我使用的是jquery验证插件。我将插件脚本放在正确的位置,验证方法正确地附加到正确的表单选择器。还有什么问题 $("form").submit(function(){ (".selector").validate({ rules: { performance : { required: true, cu
$("form").submit(function(){
(".selector").validate({
rules: {
performance : {
required: true,
customvalidation: true
},
location : {
required: true,
customvalidation: true
},
date : {
required: true,
customvalidation: false
},
time : {
required: true,
customvalidation: true
},
guests : {
required: true,
customvalidation: true
},
price : {
required: true,
customvalidation: true
}
},
messages: {
performance : {
required: "enter a show name"
},
location : {
required: "enter a location"
},
date : {
required: "pick a date"
},
time : {
required: "give a time"
},
guests : {
required: "how many people do you need?"
},
price : {
required: "what is the cover price?"
}
},
submitHandler: function(form) {
console.log("now validated");
}
}); //closes validate
$.validator.addMethod("customvalidation",
function(value, element) {
return (/^[A-Za-z\d=#$%@_ \-]+$/.test(value));
},
"Sorry, no special characters allowed"
);
var date = $("#date").val();
var showName = $("#performance").val();
var venue = $("#location").val();
var time = $("#time").val();
var guests = $("#guests").val();
var price = $("#price").val();
//this is where I submit to my database//
});//closes submit
如果验证失败,请修改
submit
函数以运行event.preventDefault()
通常可以使用return false,但由于您使用jQuery事件添加了此事件,因此必须使用
event.preventDefault()
而不是as.谢谢。我将包括这一点,但是我如何让验证工作?如果您使用默认设置,那么验证应该从那时起开始工作,因为页面不会实际提交,jquery脚本将完成它的工作。您能制作一个JSFIDLE并包含链接以查看它的工作吗?我已经解决了。当我只需要使用validate()时,我同时使用了sumbit()方法和validate()方法,因为它会自动检测提交。我只需要将validate()附加到表单。