您好!的
我的问题是关注:
验证插件对我来说很好,除了我不希望表单在它仍然无效时提交。
事实是,它会验证并显示错误,但即使它无效也会提交。
<小时/> 的验证
$("form#form-utilizadores").validate({
rules:{
nome:{
required:true
},
utilizador:{
required:true
},
password:{
required:true
},
tipo:{
required:true
}
}
});
<小时/> 提交
$('form#form-utilizadores').submit(function(e){
e.preventDefault();
var data = $(this).serialize();
$.post('submit/submit-utilizadores.php',data,function(data){
alert((data=='sucesso') ? 'Adicionado com sucesso!' : data);
top.location.reload();
}
);
});
感谢您花时间帮助我! :)
答案 0 :(得分:2)
您应该将您拥有的代码放在$('form#form-utilizadores').submit()
中并将其放在jQuery验证设置的submitHandler
参数中,试试这个:
$("form#form-utilizadores").validate({
rules: {
// your current rules...
},
submitHandler: function(form) {
var data = $(form).serialize();
$.post(
'submit/submit-utilizadores.php',
data,
function(data) {
alert((data=='sucesso') ? 'Adicionado com sucesso!' : data);
top.location.reload();
}
);
}
});
始终提交当前代码的原因是,无论表单是否有效,始终会引发表单submit
事件。通过submitHandler
让jQuery验证控制是否发布表单,具体取决于它的有效性。
答案 1 :(得分:2)
尝试在提交处理程序中添加此代码:
$('form#form-utilizadores').submit(function(e){
e.preventDefault();
if($(this).valid() == false){
return;
}
.
.
.
答案 2 :(得分:1)
如果您的验证失败,则从提交中返回false。