form_schema.php 4.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. declare(strict_types=1);
  3. return [
  4. 'steps' => [
  5. [
  6. 'title' => 'Persönliche Daten',
  7. 'description' => 'Bitte geben Sie Ihre persönlichen Daten ein.',
  8. 'fields' => [
  9. ['key' => 'vorname', 'label' => 'Vorname', 'type' => 'text', 'required' => true, 'max_length' => 100],
  10. ['key' => 'nachname', 'label' => 'Nachname', 'type' => 'text', 'required' => true, 'max_length' => 100],
  11. ['key' => 'geburtsdatum', 'label' => 'Geburtsdatum', 'type' => 'date', 'required' => true],
  12. ['key' => 'strasse', 'label' => 'Straße und Hausnummer', 'type' => 'text', 'required' => true, 'max_length' => 200],
  13. ['key' => 'plz', 'label' => 'PLZ', 'type' => 'text', 'required' => true, 'max_length' => 10],
  14. ['key' => 'ort', 'label' => 'Ort', 'type' => 'text', 'required' => true, 'max_length' => 100],
  15. ['key' => 'telefon', 'label' => 'Telefon', 'type' => 'text', 'required' => true, 'max_length' => 50],
  16. ],
  17. ],
  18. [
  19. 'title' => 'Mitgliedschaft',
  20. 'description' => 'Angaben zur gewünschten Mitgliedschaft.',
  21. 'fields' => [
  22. ['key' => 'mitgliedsart', 'label' => 'Mitgliedsart', 'type' => 'select', 'required' => true, 'options' => [
  23. ['value' => 'Aktiv', 'label' => 'Aktiv'],
  24. ['value' => 'Jugend', 'label' => 'Jugend'],
  25. ['value' => 'Foerdernd', 'label' => 'Fördernd'],
  26. ]],
  27. ['key' => 'abteilung', 'label' => 'Abteilung', 'type' => 'select', 'required' => true, 'options' => [
  28. ['value' => 'Einsatz', 'label' => 'Einsatzabteilung'],
  29. ['value' => 'Jugend', 'label' => 'Jugendfeuerwehr'],
  30. ['value' => 'Verein', 'label' => 'Vereinsmitglied'],
  31. ]],
  32. ['key' => 'ist_minderjaehrig', 'label' => 'Sind Sie unter 18 Jahren?', 'type' => 'select', 'required' => true, 'options' => [
  33. ['value' => 'nein', 'label' => 'Nein'],
  34. ['value' => 'ja', 'label' => 'Ja'],
  35. ]],
  36. ['key' => 'qualifikation_vorhanden', 'label' => 'Feuerwehr-Qualifikationen vorhanden?', 'type' => 'select', 'required' => true, 'options' => [
  37. ['value' => 'nein', 'label' => 'Nein'],
  38. ['value' => 'ja', 'label' => 'Ja'],
  39. ]],
  40. ['key' => 'bemerkung', 'label' => 'Bemerkung (optional)', 'type' => 'textarea', 'required' => false, 'max_length' => 1000],
  41. ],
  42. ],
  43. [
  44. 'title' => 'Uploads',
  45. 'description' => 'Bitte laden Sie die erforderlichen Unterlagen hoch.',
  46. 'fields' => [
  47. ['key' => 'portraitfoto', 'label' => 'Portraitfoto', 'type' => 'file', 'required' => true, 'accept' => '.jpg,.jpeg,.png,.webp'],
  48. ['key' => 'ausweisnachweis', 'label' => 'Ausweisnachweis', 'type' => 'file', 'required' => true, 'accept' => '.pdf,.jpg,.jpeg,.png'],
  49. ['key' => 'qualifikationsnachweise', 'label' => 'Qualifikationsnachweise', 'type' => 'file', 'required' => false, 'required_if' => ['field' => 'qualifikation_vorhanden', 'equals' => 'ja'], 'accept' => '.pdf,.jpg,.jpeg,.png'],
  50. ['key' => 'einverstaendniserklaerung', 'label' => 'Einverständniserklärung Erziehungsberechtigte', 'type' => 'file', 'required' => false, 'required_if' => ['field' => 'ist_minderjaehrig', 'equals' => 'ja'], 'accept' => '.pdf,.jpg,.jpeg,.png'],
  51. ['key' => 'zusatzunterlagen', 'label' => 'Zusatzunterlagen (optional)', 'type' => 'file', 'required' => false, 'accept' => '.pdf,.jpg,.jpeg,.png,.webp'],
  52. ],
  53. ],
  54. [
  55. 'title' => 'Einwilligung & Abschluss',
  56. 'description' => 'Bitte bestätigen Sie die Angaben und reichen Sie den Antrag ein.',
  57. 'fields' => [
  58. ['key' => 'einwilligung_datenschutz', 'label' => 'Ich stimme der Verarbeitung meiner Daten zu.', 'type' => 'checkbox', 'required' => true],
  59. ['key' => 'einwilligung_ordnung', 'label' => 'Ich erkenne die Satzung und Ordnung des Vereins an.', 'type' => 'checkbox', 'required' => true],
  60. ],
  61. ],
  62. ],
  63. ];