Frage

Ich bin mit der fantastischen jquery .validate Plugin von Jörn Zaefferer bei bassistance

Ich verwende asp.net, so eine lange Form habe, obwohl die Form bis in 3 Abschnitte über ein jquery Akkordeon mit Knöpfen gebrochen wird zwischen Akkordeon Scheiben zu wechseln.

Ich mag die Schaltfläche in Scheibe einer Scheibe ein Feld, das gleiches mit Scheibe zwei, usw. zu überprüfen.

Natürlich in jeder anderen Technologie, ich mit mehreren Formularen gehen würde, und habe überhaupt keine Schwierigkeiten, obwohl ich dies in .net nicht tun können.

I denken , was ich brauche, ist fast ein $('#aspnetForm').validate().unbind() oder etwas ähnliches - auf dem Akkordeon, klicken Sie das Formular erneut zu validieren Ich frage, damit ich weiß, welche Seite ich auf und ich konnte dann nur Setup neue Regeln etc.

Ich habe versucht, die Regeln $('#aspnetForm').validate().rules('remove') Ausräumen obwohl es scheint, würde ich dies für jedes Feld zu tun haben, anstatt das Formular selbst?

Ich kann keine Codebeispiele erforderlich veröffentlichen, obwohl das gesamte Skript jetzt ansehnlichen ist so würde ich Brocken graben.

Hoffentlich mache ich logischen Sinn oben - im Grunde, ein Mittel, alle Regeln entrümpeln, damit ich neue schaffen kann, weil ich in einem anderen Akkordeon-Panel bin, ist die Lösung Ich hoffe auf, obwohl ich bin kämpfen haben.

Vielen Dank, Terry

War es hilfreich?

Lösung 2

Das ist in der Tat, was ich tat, und nach einigen längeren Firebug arbeiten, um es einer der Wähler scheint nicht gelöscht werden, so dass die falschen Regeln sind wurden geladen.

Jetzt sind sie entschlossen, jeder Aufruf .validate seine eigenen Regeln hat, und unlick (sagen wir) das .click Ereignis, scheinen sie nicht additiv zu sein, um mit 3 Regeln page1.validate aus löscht alle page2 .validate Regeln.

Vielen Dank für Ihre Eingabe obwohl idrumgood, markierte Ihre Antwort bis für jede Eingabe, Dank zu sagen.

Cheers, Terry

Andere Tipps

Ich würde versuchen, ein Flag gesetzt hat, wenn irgendein Teil der Form wie

angezeigt wird
<div id="form_section_1" class="displayed">
     ....
</div>
<div id="form_section_2">
     ....
</div>
<div id="form_section_3">
     ....
</div>

Dann in Ihren Validierungsregeln, damit sie an Bedingungen geknüpft.

if($('#form_section_1').attr('class').search('displayed') != -1){
     var is_section_1_displayed = true;
}
else{ var is_section_1_displayed = false;

Sie, dass für jeden (vielleicht eine effizientere Art und Weise)

Dann in Ihren Validierungsregeln tun so etwas wie

email: {
         required = is_section_1_displayed;
       }

Unter der Annahme email ist im ersten Abschnitt des Formulars.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top