b1fb3efaa1
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
41 lines
2.0 KiB
Markdown
41 lines
2.0 KiB
Markdown
# `html_form` — Freies HTML-Formular
|
|
|
|
**Zweck:** Rendert ein beliebiges, selbst definiertes HTML-Formular und blockiert den Workflow, bis der Benutzer es absendet; `<assign_to>` bestimmt Bearbeiter und Benachrichtigung. Nach dem Absenden werden **alle POST-Felder unter ihrem Feldnamen in den Workflow-Kontext übernommen** und stehen nachfolgenden Tasks als `{{feldname}}` zur Verfügung. Ein CSRF-Schutz wird automatisch in jedes `<form>`-Tag injiziert — dafür ist nichts zu konfigurieren.
|
|
|
|
**Parameter**
|
|
|
|
| Name | Pflicht? | Default | Beschreibung |
|
|
|---|---|---|---|
|
|
| `html` | **ja** | — | Vollständiger HTML-Inhalt der Seite (mit mindestens einem `<form method="post">`); Platzhalter werden gerendert |
|
|
| `required` | nein | *(keine)* | CSV von Feldnamen, die nicht leer sein dürfen (gilt für Text- und Dateifelder); bei Verstoß wird das Formular mit Hinweis erneut angezeigt |
|
|
|
|
**Eingangswerte:** Beliebige Kontextvariablen im HTML; zusätzlich steht `{{TASK_ID}}` zur Verfügung.
|
|
|
|
**Ausgangswerte:**
|
|
- Jedes abgesendete Formularfeld als `{{feldname}}` (Strings getrimmt)
|
|
- **Datei-Uploads** (`<input type="file" name="feld">`): pro Datei drei Variablen —
|
|
- `{{feld}}` — Ablagepfad der hochgeladenen Datei (für Folgetasks wie PDF-Verarbeitung oder Mail-Anhang)
|
|
- `{{feld}}_name` — ursprünglicher Dateiname
|
|
- `{{feld}}_url` — abrufbare URL der Datei
|
|
|
|
Uploads sind auf 20 MB begrenzt; ausführbare Formate (Skripte, Programme) werden serverseitig abgelehnt.
|
|
|
|
```xml
|
|
<task type="html_form" id="antrag_erfassen">
|
|
<assign_to>{{antragsteller_mail}}</assign_to>
|
|
<config>
|
|
<required>betreff,anlage</required>
|
|
<html><![CDATA[
|
|
<!DOCTYPE html><html><body>
|
|
<form method="post" enctype="multipart/form-data">
|
|
<input type="text" name="betreff" placeholder="Betreff">
|
|
<textarea name="beschreibung"></textarea>
|
|
<input type="file" name="anlage">
|
|
<button type="submit">Absenden</button>
|
|
</form>
|
|
</body></html>
|
|
]]></html>
|
|
</config>
|
|
</task>
|
|
```
|