Как мне сказать, что JQuery Validation - это проверка AJAX? - PullRequest
1 голос
/ 27 ноября 2010

Я пытаюсь использовать плагин проверки 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», который имеет значение «истина» или «ложь», чтобы показать, была ли функция выполнена успешно, и «текст», который является информацией о том, что пошло не так .

Это прекрасно работает, КРОМЕ ТОГО, что оно не отправляется. Где и как мне сообщить плагину проверки, что поле rep_id является действительным?

Спасибо.

Ответы [ 2 ]

1 голос
/ 27 ноября 2010

Я не уверен, что понял ваш вопрос, также я уверен, что вы это знаете, но вам также нужно прикрепить плагин validate () к форме ..

$("#myform").validate({
 submitHandler: function(form) {
   form.submit();
   alert("submited!");
 }
});
0 голосов
/ 27 ноября 2010

Имея такие свойства, как required: true, вы настраиваете ограничения для плагина, с которыми будете сравнивать. Идея состоит в том, чтобы сообщить вам, если форма действительна или нет.

Ваш вопрос немного двусмысленный ... Я бы немного сузил проблему, и вы могли бы получить больше ответов ... НО вот я стреляю в бедро ..

Попробуйте отправить форму вручную:

$('form').submit(function(){
   if($('form').valid()){
      $('form').submit();
   } else {
      return false;
   }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...