如何告诉jQuery Validation AJAX验证是否正常?

时间:2010-11-27 20:02:09

标签: jquery ajax validation

我正在尝试在表单上使用jQuery验证插件。我添加了一个AJAX例程来验证其中一个字段,其余的只需要常规验证方法。

这是我正在使用的代码。

$(document).ready(function(){

 $.validator.addMethod("unique_rep", function(value, element){
       $.ajax({
      beforeSend: function(){
    spinnerStart();
      },
   type: "POST",
   url: "servertime3.php",
   data: "unique_rep="+value,
   dataType:"json",
   success: function(msg){
    spinnerStop(msg);
   }
      })
 },"");

  $("#register").validate({

     rules: {
    rep_id:{
     unique_rep: true,   
    },
    last_name:{
     required: true,
     minlength: 3
    },
    first_name:{
     required: false,
     minlength: 3
    },
    middle_initial:{
     maxlength: 1,
    },
    email:{
     required: false,
     email: true
    },
    url:{
     required: false,
     url: true
    }
   }
 })

});

spinnerStart()启动该字段旁边的进行中指示符。

spinnerStop()显示AJAX函数的结果,该函数返回一个包含'ok'的数组,该数组为true或false以显示函数是否成功,'text'是详细信息错。

除了提交之外,它的工作正常。在哪里以及如何告诉验证插件rep_id字段是否有效?

感谢。

2 个答案:

答案 0 :(得分:1)

我不确定我是否理解了您的问题,我也确定您知道这一点,但您还需要将validate()插件附加到表单中。

$("#myform").validate({
 submitHandler: function(form) {
   form.submit();
   alert("submited!");
 }
});

答案 1 :(得分:0)

通过拥有required: true之类的属性,您可以设置插件的约束以匹配。我们的想法是告诉您表单是否有效。

你的问题有点模棱两可......我会稍微缩小这个问题,你可能会得到更多的答案......但这是我拍摄的时候......

尝试手动提交表单:

$('form').submit(function(){
   if($('form').valid()){
      $('form').submit();
   } else {
      return false;
   }
})