Kontaktformulare für Angular

Baue ein funktionierendes Kontaktformular für deine Angular-App, ganz ohne Backend. Es ist eine Komponente mit einer FormGroup, formControlName auf jedem Feld und einem ngSubmit-Handler, der an Formpaste postet. Sieh es dir live an, kopiere die Komponente, und Einsendungen landen in deinem Posteingang - Spam gefiltert.

So erstellst du ein Angular-Formular

  1. 1

    Erstelle ein Formular in deinem Formpaste-Dashboard und kopiere den Zugangsschlüssel.

  2. 2

    Kopiere die Komponente oben in deine App und importiere ReactiveFormsModule.

  3. 3

    Ersetze YOUR_ACCESS_KEY_HERE durch deinen Zugangsschlüssel und deploye.

Prompt für deinen KI-Coding-Agenten

Add a Formpaste contact form to my Angular app. Use a standalone component that imports ReactiveFormsModule, builds a FormGroup with FormControl for name, email and message, binds it with formGroup and formControlName, and POSTs the value as application/x-www-form-urlencoded (URLSearchParams) to https://api.formpaste.com/submit with the access_key included. No backend.

Oder verbinde den Formpaste-MCP-Server mit Claude Code, Codex, Cursor, Claude Desktop, VS Code oder einem beliebigen mcp-remote-Client. Zur Einrichtungsanleitung.

Eine Komponente und eine FormGroup

Ein Angular-Kontaktformular ist eine Komponente. Du deklarierst eine FormGroup mit einer FormControl pro Feld, bindest sie im Template mit [formGroup] und formControlName und behandelst (ngSubmit), indem du this.form.value an Formpaste postest. Es gibt keine API-Route, keinen Mailer und keine Datenbank - die Einsendung landet in deinem Posteingang.

ReactiveFormsModule ist der Haken

Die Template-Direktiven sind nicht global verfügbar. Eine Standalone-Komponente braucht ReactiveFormsModule in ihrem imports-Array, eine App auf Basis von NgModule braucht es im Modul. Wenn formGroup und formControlName scheinbar ignoriert werden, fehlt fast immer genau dieser Import.

Validatoren sind für den Besucher da

Validators.required und die anderen Validatoren verbessern das Formular im Browser, mehr aber auch nicht. Bei dir läuft nichts auf einem Server, sie können also keinen Spam filtern - Formpaste wendet seine eigene Spam-Filterung an, sobald die Einsendung eintrifft.

So funktioniert es

Drei einfache Schritte, bis Formular-Einsendungen in deinem E-Mail-Posteingang landen.
Erstelle dein Formular, setze die action-URL auf den Formpaste-Endpunkt und trage deinen Zugangsschlüssel ein.

1

Formular erstellen

Melde dich an, verifiziere deine E-Mail und erstelle einen Zugangsschlüssel im Dashboard.

2

Code kopieren

Füge das Snippet oben in dein Projekt ein. Wähle CSS oder Tailwind passend zu deiner Website.

import { Component } from "@angular/core";
import { FormControl, FormGroup, ReactiveFormsModule, Validators } from "@angular/forms";

const ACCESS_KEY = "YOUR_ACCESS_KEY_HERE";

@Component({
  selector: "app-contact-form",
  standalone: true,
  imports: [ReactiveFormsModule],
  template: `
    <form [formGroup]="form" (ngSubmit)="onSubmit()" class="mx-auto flex w-full max-w-md flex-col gap-4 rounded-xl border border-gray-200 bg-white p-6 shadow-sm dark:border-gray-800 dark:bg-gray-950">
    <label class="flex flex-col gap-1.5 text-sm font-medium text-gray-900 dark:text-gray-100">Name
      <input type="text" name="name" formControlName="name" placeholder="Dein Name" required class="rounded-md border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 shadow-sm outline-none focus-visible:ring-2 focus-visible:ring-gray-900 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:focus-visible:ring-gray-100" />
    </label>
    <label class="flex flex-col gap-1.5 text-sm font-medium text-gray-900 dark:text-gray-100">E-Mail
      <input type="email" name="email" formControlName="email" placeholder="du@beispiel.de" required class="rounded-md border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 shadow-sm outline-none focus-visible:ring-2 focus-visible:ring-gray-900 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:focus-visible:ring-gray-100" />
    </label>
    <label class="flex flex-col gap-1.5 text-sm font-medium text-gray-900 dark:text-gray-100">Nachricht
      <textarea name="message" formControlName="message" required class="min-h-28 rounded-md border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 shadow-sm outline-none focus-visible:ring-2 focus-visible:ring-gray-900 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:focus-visible:ring-gray-100"></textarea>
    </label>
      <button type="submit" class="w-full rounded-md bg-gray-900 px-4 py-2 text-sm font-medium text-white shadow-sm transition-colors hover:bg-gray-800 disabled:opacity-60 dark:bg-white dark:text-gray-900 dark:hover:bg-gray-200" [disabled]="sending">Senden</button>
    </form>
  `,
})
export class ContactFormComponent {
  sending = false;
  form = new FormGroup({
    name: new FormControl("", Validators.required),
    email: new FormControl("", Validators.required),
    message: new FormControl("", Validators.required),
  });

  async onSubmit() {
    this.sending = true;
    await fetch("https://api.formpaste.com/submit", {
      method: "POST",
      body: new URLSearchParams({
        access_key: ACCESS_KEY,
        ...Object.fromEntries(
          Object.entries(this.form.value).map(([k, v]) => [k, v ?? ""]),
        ),
      }),
    });
    this.sending = false;
    this.form.reset();
  }
}
3

Zugangsschlüssel hinzufügen

Ersetze den Platzhalter durch deinen Zugangsschlüssel, um Einsendungen zu empfangen.

<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY_HERE">

Kontaktformulare für Angular FAQ

Formular einfügen. Einsendungen erhalten.

Sofort, ohne Backend, Server oder Datenbanken einzurichten. 250 Einsendungen/Monat kostenlos - keine Kreditkarte.

Das bekommst du mit Formpaste

Kein Server, kein DNS

Richte dein Formular auf Formpaste aus - kein Backend, kein DNS, kein E-Mail-Server zu betreiben.

Spam automatisch gefiltert

Heuristiken plus ein Quarantäne-Ordner, den du kontrollierst. Echte Nachrichten kommen immer durch.

Quarantäne, die du kontrollierst

Verdächtige Einsendungen landen in einem Ordner, den du prüfst - nichts wird stillschweigend verworfen.

Gebaut für KI-Agenten

Ein MCP-Server, den dein Coding-Agent aufruft, um ein Formular zu erstellen und einzurichten.

Copy-Paste-Komponenten

Zugänglicher Copy-Paste-Formularcode für HTML, React, TypeScript, JavaScript und Astro.

Einfaches Dashboard

Verwalte Formulare, Posteingang, Quarantäne und Zustellung an einem Ort.

Weitere Angular-Formulare

Weitere Plattformen