formhandler - multistep - validierung und conditions in einem step
| Autor | Nachricht |
|---|---|
|
Verfasst am: 03. 05. 2012 [16:47]
|
|
|
powered by typo3
Themenersteller
Dabei seit: 09.02.2008
Beiträge: 16
|
ich validiere in einem multistep-Formular in step2 mehrere check-boxen (ja/nein) als required. Wurde entweder ja oder nein ausgewählt, wird über conditions das "required" ausgeschaltet. Es erscheint richtigerweise auch keine Fehlermeldung. Vergisst nun ein User bei einer der checkboxen einen Haken bei "ja" oder "nein" zu setzen, erscheint folgerichtig an dieser Stelle eine Fehlermeldung. Setzt der User dann sein Häkchen und schickt das Formular ab, werden alle anderen check-boxen (bei denen bereits ein Haken gesetzt war) validiert und mit Fehlermeldungen versehen. Dabei bleiben alle gesetzen Haken im Formular vorhanden, nur die conditions werden offenbar nicht mehr beachtet. (wenn "ja" angekreuzt ist, validiere "nein" nicht mehr und umgekehrt). TYPOSCRIPT # The error checks for the second step 2.validators { 1.class = Validator_Default 1.config.fieldConf { pferd.errorCheck.1 = required pferdchen.errorCheck.1 = required aufzuchtpferd.errorCheck.1 = required gnadenbrotpferd.errorCheck.1 = required zuchtpferd.errorCheck.1 = required esel.errorCheck.1 = required phone.errorCheck.1 = required email.errorCheck.1 = required email.errorCheck.2 = email mathguard_answer.errorCheck.1 = mathGuard pferdename.errorCheck.1 = required pferderasse.errorCheck.1 = required pferdegebdatum.errorCheck.1 = required pferdefarbe.errorCheck.1 = required hengst.errorCheck.1 = required wallach.errorCheck.1 = required stute.errorCheck.1 = required } } if { 2 { conditions.OR1.AND1 = pferd = ja isTrue { # step 2 2 { 2.validators.1.config.disableErrorCheckFields = pferdchen,aufzuchtpferd,gnadenbrotpferd,zuchtpferd,esel } } } } if { 3 { conditions.OR1.AND1 = pferdchen = ja isTrue { # step 2 2 { 2.validators.1.config.disableErrorCheckFields = pferd,aufzuchtpferd,gnadenbrotpferd,zuchtpferd,esel } } } } if { 4 { conditions.OR1.AND1 = aufzuchtpferd = ja isTrue { # step 2 2 { 2.validators.1.config.disableErrorCheckFields = pferd,pferdchen,gnadenbrotpferd,zuchtpferd,esel } } } } if { 5 { conditions.OR1.AND1 = gnadenbrotpferd = ja isTrue { # step 2 2 { 2.validators.1.config.disableErrorCheckFields = pferd,pferdchen,aufzuchtpferd,zuchtpferd,esel } } } } if { 6 { conditions.OR1.AND1 = zuchtpferd = ja isTrue { # step 2 2 { 2.validators.1.config.disableErrorCheckFields = pferd,pferdchen,aufzuchtpferd,gnadenbrotpferd,esel } } } } if { 7 { conditions.OR1.AND1 = esel = ja isTrue { # step 2 2 { 2.validators.1.config.disableErrorCheckFields = pferd,pferdchen,aufzuchtpferd,gnadenbrotpferd,zuchtpferd } } } } if { 8 { conditions.OR1.AND1 = tiergeschlecht = wallach isTrue { # step 2 2 { 2.validators.1.config.disableErrorCheckFields = hengst,stute } } } } if { 9 { conditions.OR1.AND1 = tiergeschlecht = hengst isTrue { # step 2 2 { 2.validators.1.config.disableErrorCheckFields = wallach,stute } } } } if { 10 { conditions.OR1.AND1 = tiergeschlecht = stute isTrue { # step 2 2 { 2.validators.1.config.disableErrorCheckFields = hengst,wallach } } } } if 2 bis 7 sind in einem fieldset zusammengefasst, if 8 - 10 in einem weiteren fieldset. |
|
Verfasst am: 04. 05. 2012 [16:26]
|
|
|
powered by typo3
Themenersteller
Dabei seit: 09.02.2008
Beiträge: 16
|
Habe mittlerweile die Lösung selbst gefunden. So wie ich das verstanden habe, muss jeder checkbox einen separate Klasse für die Validierung zugewiesen werden. TYPOSCRIPT 2.validators { 1.class = Validator_Default 1.config.fieldConf { pferd.errorCheck.1 = required } 2.class = Validator_Default 2.config.fieldConf { hengst.errorCheck.1 = required wallach.errorCheck.1 = required stute.errorCheck.1 = required } } 2.validators - die 2 steht für step 2 im multistepformular. Ausserdem habe ich auf typo3-formhandler.com in der Doku "General Options" noch das hier gefunden: .checkBoxFields Comma seperated list of field names which contain checkbox values. This is needed for multipage forms in order to ensure correct submission of these values from step to step. Please enter all checkbox field names in here. Set this option per step. TYPOSCRIPT plugin.Tx_Formhandler.settings { # Checkbox fields in step 1 1.checkBoxFields = interests, hobbies # Checkbox fields in step 2 2.checkBoxFields = work_experience,accounts } |



