onStepChanging- und onFinishing-Logiken lauten wie folgt:
` var form = $("div#wizard").show();
var formWizard = $("#form1");
form.steps({
headerTag: "h1",bodyTag: „section“,
transitionEffect: „slideLeft“,
Code: Select all
onStepChanging: function (event, currentIndex, newIndex) {
//if ($stopChanging) {
// return true;
//}
//else {
// Allways allow previous action even if the current form is not valid!
if (currentIndex > newIndex) {
return true;
}
// Needed in some cases if the user went back (clean up)
if (currentIndex < newIndex) {
if (currentIndex == 0) {
ActiveState = 0
DPForm.SaveDPFormStep1();
} else if (currentIndex === 1) {
ActiveState = 1
DPForm.SaveDPFormStep2();
} else if (currentIndex === 2) {
ActiveState = 2
DPForm.SaveDPFormStep3();
} else if (currentIndex === 3) {
ActiveState = 3
DPForm.SaveDPFormStep4();
} else if (currentIndex === 4) {
ActiveState = 4
DPForm.SaveDPFormStep5();
} else if (currentIndex === 5) {
ActiveState = 5
DPForm.SaveDPFormStep6();
}
}
//debugger;
formWizard.validate().settings.ignore = ":disabled,:hidden";
return formWizard.valid();
},
onFinishing: function (event, currentIndex) {
formWizard.validate().settings.ignore = ":disabled,:hidden";
//console.log(formWizard.valid());
return formWizard.valid();
Code: Select all
}`
Das Problem besteht nun darin, dass ich formWizard.validate().settings.ignore = ":disabled,:hidden";
die Validierung für ausgeblendete Felder umgehe, aber in diesem Fall, wenn ich von Schritt 6 zu Schritt springe 4 Leeren Sie einige erforderliche Felder und springen Sie zu Schritt 1. Ändern Sie ein Feld, wodurch ein Block in Schritt 5 sichtbar wird, ohne zu Schritt 5 zu gehen. Ich springe direkt von 1 zu 6 und beende die Formularschritte. Dadurch funktioniert die Validierung nicht in übersprungenen Schritten 2,3,4,5, obwohl es sichtbare Felder gibt und diese den Validierungsregeln entsprechen.
und wenn ich formWizard.validate().settings.ignore = setze „:disabled“;
Dadurch werden auch bedingt ausgeblendete Felder validiert.
Wie kann ich dieses Problem lösen? Jeder Vorschlag wird dankbar sein.
Ich erwarte eine Lösung, bei der meine ausgeblendeten Felder nicht validiert werden sollten, aber übersprungene Schritte sollten validiert werden.