当我使用php表单时,此规则有效,但是一旦我切换到ajax,规则就被破坏了,而原始jquery.validate.min.js规则中的规则(如检查电子邮件和信用卡号)工作。我将自定义规则存储在另一个文件中,并确保它链接到我的页面。当我将该字段留空后单击提交按钮时,我收到错误信息。但是当我以不正确的格式输入信息时,页面重新加载并且没有提交任何内容,也没有收到错误消息。
这是规则
$.validator.addMethod("format",function(a,b){return this.optional(b)||/^[A-Z]{3,4}[0-9]
{3,4}$/.test(a)},"Please enter in the valid format");
这是ajax脚本:
$(document).ready(function(){
$("#myform").validate({
debug: false,
rules: {
course: {
required: true,
format: true},
},
messages: {
course: "Please enter in the correct format.",
},
submitHandler: function(form) {
// do other stuff for a valid form
$.post('process_form.php', $("#myform").serialize(),
function(data) {
$('#results').html(data);
});
}
});
});