2015-11-20 3 views
0

Я работаю над этим мастером, которые имеют 5 шагов но одной формы, намерение состоит в том, чтобы обрабатывать данные по запросу одного сервера, когда пользователь нажимает Завершить кнопка.Как проверить форму более чем один раз с JQuery Validate

Я пытаюсь использовать Jquery Validate плагин для проверки каждого шага отдельно, моя первоначальная идея состояла в том, чтобы заново инициализировать плагин каждый раз, когда пользователь щелкает рядом, как это:

function validateStepOne(){ 

    $("#form").validate({ 
     rules: { 
      x: "required" 
    }}); 

    if(!$("#form").valid()){ 
     return false; 
    } 

    return true; 
} 

function validateStepTwo(){ 
    $("#form").validate({ 
     rules: { 
     y : "required", 
    }}); 

    if(!$("#form").valid()){ 
     return false; 
    } 

    return true; 
} 

Но то не кажется, потому что на секундах + шаги формы всегда помечены как действительные, поэтому мне интересно, как я могу сбросить плагин проверки, чтобы иметь возможность проверять одну и ту же форму более одного раза .. Любая помощь приветствуется

+0

Попробуйте удалить проверку с помощью: $ ('# formid'). RemoveData ('validator'); между валидациями. Или вы можете иметь несколько форм на своей странице с уникальной проверкой? – Arg0n

+1

Вы можете ** не ** повторно инициализировать плагин. Его можно инициализировать только один раз на форме. Ваши единственные варианты - разбить его на пять разных контейнеров 'form' или использовать метод' .rules() 'для активации/деактивации правил по мере необходимости. В противном случае плагин будет игнорировать скрытые поля по умолчанию, и для некоторых людей это достаточно хорошо для этого сценария. – Sparky

+0

См. Этот ответ: http://stackoverflow.com/a/19546698/594235 – Sparky

ответ

1

Вы не можете повторно инициализировать plu Джин. Его можно инициализировать только один раз на форме. Ваши варианты заключаются в том, чтобы разбить его на пять разных контейнеров form или использовать метод .rules() для активации/деактивации правил по мере необходимости.

В противном случае по умолчанию скрытые поля игнорируются. Как правило, в многоэтапной форме, когда поля на неактивных вкладках скрыты, они больше не проверяются. Это подход, который многие люди возьмут в зависимости от типа многоступенчатой ​​формы.

+0

Работала со всеми правилами при одном и том же вызове validate(), поскольку скрытые поля игнорируются. Спасибо, что дали мне знать :) –

Смежные вопросы