Forms
5. Forms
Forms tager imod input fra besøgende. Kontaktformularer, tilmeldinger, kursus-bestillinger, henvendelser. Hver indsendelse gemmes som en FormSubmission-record + sendes som notifikations-email til en modtager du angiver.
Opret en formular — step-by-step
- Klik Forms på dashboardet
- Klik + Ny form
- Udfyld:
- Slug — bruges til at embed'e formularen i en FormBlock (eks:
kontakt,tilmelding-kursus-2026) - Titel — vises som overskrift over formularen (kan overskrives pr. FormBlock)
- Intro-tekst — markdown-tekst over formularens felter
- Modtager-email(s) — én eller flere kommaseparerede emails der får notifikation når formularen indsendes
- Email-template — vælg hvilken MJML-template der bruges
- Slug — bruges til at embed'e formularen i en FormBlock (eks:
- Tilføj felter via felt-editoren — se næste afsnit
- Klik Opret
Felt-typer
I felt-editoren kan du tilføje følgende felter:
Standard input
- Tekst — single-line input (navn, emne osv.)
- Email — single-line med email-format-validering
- Telefon — single-line med telefon-format-validering (DK-format primært)
- Tekstområde — multi-line input (besked, beskrivelse)
- Tal — numerisk input med min/max
- Dato — date-picker
Choice
- Checkbox — single boolean ("Jeg accepterer betingelserne")
- Radio — vælg én af flere muligheder
- Dropdown — samme som radio, men som select
Avancerede
- Filupload — accept-pattern bestemmer tilladte typer
- Honeypot — usynligt felt der fanger bots
Pr. felt konfigurerer du
- Label — det brugeren ser
- Placeholder — graylet tekst i input-feltet
- Required — påkrævet?
- Max-length — for tekst-felter
- Help-text — vises under feltet
- Default-value — pre-udfyldt værdi
Honeypot — spam-beskyttelse
Bots udfylder enhver formular de finder. Honeypot er et felt der er usynligt for mennesker men automatisk udfyldt af bots.
Sådan tilføjer du
- Tilføj et Tekst-felt med navn
_hp(eller andet umarkant navn) - Sæt CSS-klassen til at skjule det (
display:none) - Når formularen indsendes, tjekker backend om feltet er tomt:
- Tomt → menneske, fortsæt
- Udfyldt → bot, smid submissionen væk
Dette er ikke 100% effektivt mod sofistikerede bots, men fanger 95% af spam-trafik uden friktion for almindelige brugere.
ReCAPTCHA er ikke implementeret som default i v1, men kan tilføjes hvis spam bliver et problem.
Embed via FormBlock
Når formularen er klar, embed'er du den på en side:
- Åbn rediger-siden for den side du vil have formularen på (typisk
kontakt) - Tilføj en FormBlock
- Konfigurér:
- formSlug — paste din formular-slug
- Heading — valgfri overskrift over formularen
- Intro — valgfri tekst over formularen
- Gem siden
Formularen renderes nu på siden med alle felter, validering og submit-knap.
Se og håndtér submissions
- Klik Forms → vælg formularen → Submissions-fanen
- Du ser en liste med alle indsendelser:
- № — sekventielt ID (handy til at referere til en specifik submission)
- Dato — hvornår indsendt
- Status —
new/read/archived(kan ændres) - Preview — første tekstfelt i submissionen
- Klik en submission for at se alle felter
Status-flow
new— endnu ikke set af nogen. Vises med blå badgeread— set, men ikke håndteretarchived— håndteret, ikke længere relevant
Status opdateres manuelt via dropdown'en på detalje-siden.
Email-notifikation
Når en submission kommer ind, sendes en email:
- Backend tager submissionens data
- Vælger den email-template der er knyttet til formularen (default:
contact__admin-notification) - Rendrer MJML-templaten med dataet
- Sender via Azure Communication Services (ACS) til modtager-email(s)
Mail-flowet er fire-and-forget — hvis ACS er nede, gemmes submissionen alligevel (du mister kun notifikationen). Næste gang nogen kigger i admin, ser de submissionen.
Mail-templates
Du kan oprette nye email-templates under Mail-modulet. En template er MJML (Mailchimp's email-markup) med template-variabler {{field}}. TesseraCMS substituerer variablerne med submissionens data ved send.
Default-templaten contact__admin-notification viser alle form-felter generisk, så den fungerer for de fleste formularer uden customization.
Sender-acknowledgement
Valgfrit: du kan også sende en bekræftelse til indsenderen. Slå dette til pr. formular via senderAckTemplate-feltet.
Praktiske tips
- Test din formular på det offentlige site før go-live — submit en test-indsendelse til dig selv og bekræft at email-notifikationen kommer
- Brug separat email-template for hver formular hvis indholdet skal være forskelligt
- Skift modtager-email senere — du kan ændre
recipientEmails-feltet uden at miste eksisterende submissions - Honeypot er nok for små sites — fuldt anti-spam-stack (rate limit, IP-block, reCAPTCHA) kan tilføjes hvis I rammer en spam-storm