Keine aktiven Aktionen verfügbar

E-Mail-Format prüfen, Pflichtfelder erzwingen, Zahlen begrenzen – HTML Formular Validierung macht's möglich! Und das ganz ohne JavaScript. In diesem Tutorial lernst du die wichtigsten Validierungsattribute.

Einführung in das HTML Formular Validierung Tutorial

Was ist Formular Validierung

Validierung prüft Nutzereingaben, bevor sie abgesendet werden. Browser zeigen automatisch Fehlermeldungen, wenn etwas nicht stimmt. Das spart Server-Anfragen und gibt sofortiges Feedback.

Warum HTML Validierung wichtig ist

Wichtig: HTML-Validierung ersetzt NICHT die serverseitige Prüfung! Sie kann umgangen werden.

Voraussetzungen

Benötigte HTML Grundkenntnisse

Du solltest HTML-Formulare verstehen. Falls nicht, hol das kurz nach!

Entwicklungsumgebung

Texteditor und Browser – mehr brauchst du nicht.

Schritt-für-Schritt-Anleitung

Schritt 1: Pflichtfelder mit required

Das einfachste Validierungsattribut:

<form>
    <label for="name">Name:</label>
    <input type="text" id="name" name="name" required>
    
    <label for="email">E-Mail:</label>
    <input type="email" id="email" name="email" required>
    
    <button type="submit">Absenden</button>
</form>

Versuche, das Formular leer abzusenden – der Browser stoppt dich!

Schritt 2: Input-Typen für automatische Validierung

HTML5 Input-Typen validieren automatisch:

<input type="email" name="email">     <!-- Prüft @-Zeichen -->
<input type="url" name="website">     <!-- Prüft URL-Format -->
<input type="number" name="age" min="1" max="120">  <!-- Prüft Zahlenbereich -->
<input type="date" name="birthday">   <!-- Prüft Datumsformat -->

Schritt 3: Pattern für eigene Regeln

Mit regulären Ausdrücken definierst du eigene Formate:

<label for="phone">Telefon (Format: 0123-456789):</label>
<input type="text" id="phone" name="phone" 
       pattern="[0-9]{4}-[0-9]{6}" 
       title="Bitte verwende das Format: 0123-456789">

<label for="plz">Postleitzahl:</label>
<input type="text" id="plz" name="plz" 
       pattern="[0-9]{5}" 
       title="PLZ muss 5 Ziffern haben">

Das title-Attribut erscheint als Tooltip-Hinweis!

Schritt 4: Längen begrenzen

<!-- Textlänge -->
<input type="text" name="username" minlength="3" maxlength="20">

<!-- Zahlenbereiche -->
<input type="number" name="alter" min="18" max="65">

<!-- Textarea -->
<textarea name="kommentar" maxlength="500"></textarea>

[bildapi id="form_validation_example" prompt="A clean, modern web form on a computer screen showing HTML form validation in action with friendly error messages in German, featuring input fields for email, password, and submit button with validation tooltips" name="html-form-validation-friendly-messages" alt="HTML Formular mit benutzerfreundlichen Validierungsmeldungen auf einem Computerbildschirm"]

Code-Beispiele zu HTML

Registrierungsformular

<form>
    <label for="username">Benutzername (3-20 Zeichen):</label>
    <input type="text" id="username" name="username" 
           minlength="3" maxlength="20" 
           pattern="[a-zA-Z0-9]+" 
           title="Nur Buchstaben und Zahlen" 
           required>
    
    <label for="email">E-Mail:</label>
    <input type="email" id="email" name="email" required>
    
    <label for="password">Passwort (min. 8 Zeichen):</label>
    <input type="password" id="password" name="password" 
           minlength="8" required>
    
    <label>
        <input type="checkbox" name="privacy" required>
        Datenschutz akzeptieren
    </label>
    
    <button type="submit">Registrieren</button>
</form>

Bestellformular mit Zahlen

<form>
    <label for="quantity">Anzahl (1-10):</label>
    <input type="number" id="quantity" name="quantity" 
           min="1" max="10" value="1" required>
    
    <label for="price">Preis in Euro:</label>
    <input type="number" id="price" name="price" 
           min="0" step="0.01" placeholder="0.00">
    
    <label for="delivery">Lieferdatum:</label>
    <input type="date" id="delivery" name="delivery" 
           min="2024-01-01" required>
</form>

step="0.01" erlaubt Cent-Beträge!

Häufige Fehler & Troubleshooting

Fehler 1: Nur Leerzeichen akzeptiert

required prüft nicht auf Leerzeichen! Ein Feld mit nur Leerzeichen gilt als ausgefüllt. Lösung: pattern="\S.*" oder serverseitige Prüfung.

Fehler 2: Pattern deckt nicht alles ab

FALSCH: pattern="[0-9]"     → Nur EINE Ziffer
RICHTIG: pattern="[0-9]+"   → MINDESTENS eine Ziffer

Fehler 3: Validierung wird umgangen

HTML-Validierung kann im Browser deaktiviert werden. IMMER zusätzlich serverseitig prüfen!

HTML: Best Practices & Tipps

Benutzerfreundliche Fehlermeldungen

CSS für Validierungszustände

<style>
input:valid { border: 2px solid green; }
input:invalid { border: 2px solid red; }
input:required { border-left: 4px solid blue; }
</style>

Übersicht: Validierungsattribute

Fazit zum HTML-Tutorial: Was hast du hier gelernt

Du kennst jetzt die wichtigsten Validierungsattribute:

Damit validierst du Formulare direkt im Browser – ohne JavaScript!

Bereit für mehr? Lerne als Nächstes die HTML5 Semantischen Elemente für bessere Seitenstruktur!