[ [ 'title' => 'Persönliche Daten', 'description' => 'Bitte geben Sie Ihre persönlichen Daten ein.', 'fields' => [ ['key' => 'vorname', 'label' => 'Vorname', 'type' => 'text', 'required' => true, 'max_length' => 100], ['key' => 'nachname', 'label' => 'Nachname', 'type' => 'text', 'required' => true, 'max_length' => 100], ['key' => 'geburtsdatum', 'label' => 'Geburtsdatum', 'type' => 'date', 'required' => true], ['key' => 'strasse', 'label' => 'Straße und Hausnummer', 'type' => 'text', 'required' => true, 'max_length' => 200], ['key' => 'plz', 'label' => 'PLZ', 'type' => 'text', 'required' => true, 'max_length' => 10], ['key' => 'ort', 'label' => 'Ort', 'type' => 'text', 'required' => true, 'max_length' => 100], ['key' => 'telefon', 'label' => 'Telefon', 'type' => 'text', 'required' => true, 'max_length' => 50], ], ], [ 'title' => 'Mitgliedschaft', 'description' => 'Angaben zur gewünschten Mitgliedschaft.', 'fields' => [ ['key' => 'mitgliedsart', 'label' => 'Mitgliedsart', 'type' => 'select', 'required' => true, 'options' => [ ['value' => 'Aktiv', 'label' => 'Aktiv'], ['value' => 'Jugend', 'label' => 'Jugend'], ['value' => 'Foerdernd', 'label' => 'Fördernd'], ]], ['key' => 'abteilung', 'label' => 'Abteilung', 'type' => 'select', 'required' => true, 'options' => [ ['value' => 'Einsatz', 'label' => 'Einsatzabteilung'], ['value' => 'Jugend', 'label' => 'Jugendfeuerwehr'], ['value' => 'Verein', 'label' => 'Vereinsmitglied'], ]], ['key' => 'ist_minderjaehrig', 'label' => 'Sind Sie unter 18 Jahren?', 'type' => 'select', 'required' => true, 'options' => [ ['value' => 'nein', 'label' => 'Nein'], ['value' => 'ja', 'label' => 'Ja'], ]], ['key' => 'qualifikation_vorhanden', 'label' => 'Feuerwehr-Qualifikationen vorhanden?', 'type' => 'select', 'required' => true, 'options' => [ ['value' => 'nein', 'label' => 'Nein'], ['value' => 'ja', 'label' => 'Ja'], ]], ['key' => 'bemerkung', 'label' => 'Bemerkung (optional)', 'type' => 'textarea', 'required' => false, 'max_length' => 1000], ], ], [ 'title' => 'Uploads', 'description' => 'Bitte laden Sie die erforderlichen Unterlagen hoch.', 'fields' => [ ['key' => 'portraitfoto', 'label' => 'Portraitfoto', 'type' => 'file', 'required' => true, 'accept' => '.jpg,.jpeg,.png,.webp'], ['key' => 'ausweisnachweis', 'label' => 'Ausweisnachweis', 'type' => 'file', 'required' => true, 'accept' => '.pdf,.jpg,.jpeg,.png'], ['key' => 'qualifikationsnachweise', 'label' => 'Qualifikationsnachweise', 'type' => 'file', 'required' => false, 'required_if' => ['field' => 'qualifikation_vorhanden', 'equals' => 'ja'], 'accept' => '.pdf,.jpg,.jpeg,.png'], ['key' => 'einverstaendniserklaerung', 'label' => 'Einverständniserklärung Erziehungsberechtigte', 'type' => 'file', 'required' => false, 'required_if' => ['field' => 'ist_minderjaehrig', 'equals' => 'ja'], 'accept' => '.pdf,.jpg,.jpeg,.png'], ['key' => 'zusatzunterlagen', 'label' => 'Zusatzunterlagen (optional)', 'type' => 'file', 'required' => false, 'accept' => '.pdf,.jpg,.jpeg,.png,.webp'], ], ], [ 'title' => 'Einwilligung & Abschluss', 'description' => 'Bitte bestätigen Sie die Angaben und reichen Sie den Antrag ein.', 'fields' => [ ['key' => 'einwilligung_datenschutz', 'label' => 'Ich stimme der Verarbeitung meiner Daten zu.', 'type' => 'checkbox', 'required' => true], ['key' => 'einwilligung_ordnung', 'label' => 'Ich erkenne die Satzung und Ordnung des Vereins an.', 'type' => 'checkbox', 'required' => true], ], ], ], ];