2009-06-23 11 views
7

Ich muss ein mehrstufiges Formular validieren. Gibt es irgendwelche anständigen Plugins dafür?jquery multi step form validation

Zum Beispiel:

$(function() { 
    $('#MoveStep1').click(function() { 
     $("#step1").validate(); 
    }); 
}); 

#step1 ist ein Feldsatz.

Antwort

1

Ich schlage dies nur, wenn Sie in 4 Zeilen mit einem schnellen Hack in Ordnung sind

//untested but you'll get the gist, you may need a slight variation on this 
$("#step1").wrap('<form id="tmp-form"></form>'); 
$("#tmp-form").validate(); 
$("#step1").insertBefore("#tmp-form"); 
$("#tmp-form").remove(); 

Die Grundidee es in einer temporären Form zu wickeln ist. Bestätigen. Löschen. Wiederholen.

Benefits: 
use a validation plugin you already know and is well-tested. 
you don't need to change any existing validation rules 

Cons: 
possible undesired layout effects depending on you style markup 
maybe others? once again, not tested just a quick thought
0

Wie wäre es etwa so:

//setup validation, don't validate if the control is: ignored, inside an ignored container, or hidden 
$("form").validate({ ignore: ".ignore, .ignore *, :hidden" }); 

$("#MoveStep1").click(function() { 
    //assuming each step is in a container with the class Step 
    $(".Steps:not(#step1)").addClass(.ignore); 
    $("form").valid(); 
    $(".Steps").removeClass(.ignore); 
});