我使用 jquery 验证(http://bassistance.de/jquery-plugins/jquery-plugin-validation/)进行表单验证。以下是我的代码的一些片段:
HTML:
<form id="formID" action="/processForm" method="post">
...
<input id="name" type="text" name="name" size="10" />
<input id="username" type="text" name="username" size="10" />
...
<input type="submit" value="Submit" />
jQuery:
$("#formID").validate({
onkeyup:false,
rules: {
name: {required: true},
username: {required: true, checkUsername: true}
...
},
messages: {
name: {required: "Must fill"},
username: {required: "Must fill", checkUsername: "Username unavailable"},
...
}
});
// Check if username exists
$.validator.addMethod('checkUsername', function(username) {
var postURL = "/checkUsername";
$.ajax({
...
});
return ...;
}, '');
// Submit the form by Ajax
$(document).ready(function() {
$('.formID').ajaxForm({
success: function(returnData) {
$('#content').html(returnData);
}
});
});
奇怪的是,我可以将一些必填字段留空或取消选中,但仍然可以提交表单。如果留空,一些必填字段可能会阻止提交,但其他字段则不会。有没有人遇到过同样奇怪的问题?还是我在这里做错了什么?
顺便说一句,如果我单击提交按钮而不填写任何内容,所有必填字段都会正确显示错误消息。但其中一些不会阻止提交表单。请帮忙。
编辑:底部的 Ajax 表单提交功能似乎不起作用。我该如何纠正?