[[!FormItRetriever? ]] [[!FormIt? &customValidators=`check` &store=`1` &hooks=`spam,form2session,email,redirect` &emailTpl=`MailTpl` &emailTo=`[email protected]` &emailFromName=`[[+name]]` &emailSubject=`SUBJECT` &redirectTo=`90` &emailMultiSeparator=`<br />` &validate=`name:required, kurse:check:required, events:check:required, telefon:required, email:required`]]
<input type="hidden" name="kurse" value="[[+fi.kurse]]" /> <input type="hidden" name="events" value="[[+fi.events]]" />
This question has been answered by Bruno17. See the first response.
[[!FormItRetriever? ]] [[!FormIt? &customValidators=`Check-Name,Check-Email,Check-Telefon,Check-Kurs-Event` &store=`1` &hooks=`spam,form2session,email,redirect` &emailTpl=`MailTpl` &emailTo=`[email protected]` &emailFromName=`[[+name]]` &emailSubject=`SUBJECT` &redirectTo=`90` &emailMultiSeparator=`<br />` &validate=`name:Check-Name:required, telefon:Check-Telefon:required, email:Check-Email:required`]]
<form class="anmeldeformular erweitert" action="[[~[[*id]]]]#anmeldung" method="post" class="form"> <input type="hidden" name="kurse" value="" /> <input type="hidden" name="events" value="" /> <h2>Kurse</h2> <ul> [[!getResources? &parents=`16` &tpl=`ANMELDUNG-ERWEITERT` &showHidden=`1` &includeContent=`1` &includeTVs=`1` &processTVs=`1` &tvFilters=`ANMELDUNG==%1%` &limit=`100`]] </ul> <h2>Events</h2> <ul class="events"> [[!getResources? &parents=`4` &tpl=`ANMELDUNG-ERWEITERT-EVENTS` &showHidden=`1` &includeContent=`1` &includeTVs=`1` &processTVs=`1` &tvFilters=`ANMELDUNG==%1%` &limit=`100`]] </ul> <div class="clear"> </div> <a id="anmeldung"></a> <input type="text" name="name" id="name" value="[[!+fi.name:empty=`Dein Name`]]" [[!+fi.error.name:notempty=`class="error"`]] onfocus="this.value='';" onblur="if (this.value=='') this.value='Dein Name';" /> <br /> <input type="text" name="telefon" id="telefon" value="[[!+fi.telefon:empty=`Deine Telefonnummer`]]" [[!+fi.error.telefon:notempty=`class="error"`]] onfocus="this.value='';" onblur="if (this.value=='') this.value='Deine Telefonnummer';" /> <br /> <input type="text" name="email" id="email" value="[[!+fi.email:empty=`Deine Email-Adresse`]]" [[!+fi.error.email:notempty=`class="error"`]] onfocus="this.value='';" onblur="if (this.value=='') this.value='Deine Email-Adresse';" /> <br class="clear" /> <div class="form-buttons"> <input type="submit" value="> FÜR AUSGEWÄHLTE KURSE ANMELDEN" /> </div> </form>
<li [[!+fi.error.kurse:notempty=`class="error"`]] > <input type="checkbox" name="kurse[]" value="[[+tv.Uhrzeit]] | [[getResourceField ? &id=`[[+parent]]` &field=`pagetitle`]] | [[+pagetitle]]" [[!+fi.kurse:FormItIsChecked=`[[+tv.Uhrzeit]] | [[getResourceField ? &id=`[[+parent]]` &field=`pagetitle`]] | [[+pagetitle]]`]] /> <a href="./index/kurse/[[getResourceField? &id=`[[+id]]` &field=`alias`]].html" title="[[+pagetitle]]`? &id=`[[+id]]` &field=`alias`]]">[[+pagetitle]]</a> <span class="tag [[getResourceField ? &id=`[[+parent]]` &field=`pagetitle`]]">[[getResourceField ? &id=`[[+parent]]` &field=`pagetitle`]]</span> <span class="zeit">[[+tv.Uhrzeit]]</span> <span class="information">[[+description]]</span> </li>
<ul> <li> <input type="checkbox" name="kurse[]" value="20:15-21:45 Uhr | Montag | Yoga for the core" /> <a href="./index/kurse/yoga-core.html" title="Yoga for the core">Yoga for the core</a> <span class="tag Montag">Montag</span> <span class="zeit">20:15-21:45 Uhr</span> <span class="information">für Intermediate und Advanced</span> </li> <li> <input type="checkbox" name="kurse[]" value="18:45-19:45 Uhr | Dienstag | Pilates" /> <a href="./index/kurse/pilates.html" title="Pilates">Pilates</a> <span class="tag Dienstag">Dienstag</span> <span class="zeit">18:45-19:45 Uhr</span> <span class="information">für Beginner bis Advanced</span> </li> </ul>
<ul class="events"> <li > <input type="checkbox" name="events[]" value="17. Mai 2014 - 18. Mai 2014 | Ort der Veranstaltung | Beispiel Event" /> <a href="./index/events/beispiel-event.html" title="Beispiel Event">Beispiel Event</a> <span class="datum">17. Mai 2014 - 18. Mai 2014</span> <span class="ort">Ort der Veranstaltung</span> <span class="beschreibung">für Einsteiger</span> </li> </ul>
&validate=` kurse:required, events:required ... `
$allFormFields = $hook->getValues(); switch ($allFormFields['kurse']) { case 'post': $success = true; print_r($success); if ($allFormFields['kurse'] == '') { $success = false; $hook->addError('kurse', 'Bitte einen Kurs oder Event auswählen.'); // Fehlermeldung } if ($allFormFields['events'] == '') { $success = false; $hook->addError('events', 'Bitte einen Kurs oder Event auswählen.'); // Fehlermeldung } return $success; break; }
switch ($allFormFields['whichoption']) {
switch ($allFormFields['kurse']) {
[[!FormItRetriever? ]] [[!FormIt? &customValidators=`Check-lists,Check-Name,Check-Email,Check-Telefon,Check-Kurs-Event` &store=`1` &hooks=`spam,form2session,email,redirect` &emailTpl=`MailTpl` &emailTo=`[email protected]` &emailFromName=`[[+name]]` &emailSubject=`SUBJECT` &redirectTo=`90` &emailMultiSeparator=`<br />` &validate=`name:Check-Name:required, telefon:Check-Telefon:required, email:Check-Email:required`]]
<?php $fields = $modx->getOption('fields',$scriptProperties,''); $fields = explode(',',$fields); $success = false; foreach ($fields as $field){ $fieldrequest = $modx->getOption($field,$_REQUEST,''); if (!empty($fieldrequest)){ $success = true; } } $validations = ''; if (!$success){ foreach ($fields as $field){ $validations .= $field . ':required,'; } } return $validations;
[[!FormIt? &customValidators=`Check-lists,Check-Name,Check-Email,Check-Telefon` &store=`1` &hooks=`spam,form2session,email,redirect` &emailTpl=`MailTpl` &emailTo=`[email protected]` &emailFromName=`[[+name]]` &emailSubject=`SUBJECT` &redirectTo=`90` &emailMultiSeparator=`<br />` &validate=`[[!oneIsRequired? &fields=`kurse,events`]]name:Check-Name:required, telefon:Check-Telefon:required, email:Check-Email:required`]]