[[!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`]]