0Pricing
jQuery Academy · Lektion

Logik der clientseitigen Formularvalidierung

Implementieren Sie erweiterte clientseitige Validierungsregeln, geben Sie Benutzern sofortiges Feedback und stellen Sie mit benutzerdefinierter jQuery-Validierung die Datenintegrität vor dem Absenden sicher.

Logik der clientseitigen Formularvalidierung ist eine kostenlose jQuery Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des jQuery Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der jQuery Academy-Kurs umfasst insgesamt 3 Lektionen.

Warum Formulare clientseitig validieren?

Die clientseitige Formularvalidierung prüft Benutzereingaben bevor sie an den Server gesendet werden. Das ist ein entscheidender Schritt beim Erstellen benutzerfreundlicher Webanwendungen.

  • Verbesserte Benutzererfahrung: Benutzer erhalten sofortiges Feedback zu Fehlern und können diese korrigieren, ohne auf eine Serverantwort zu warten.
  • Geringere Serverbelastung: Ungültige Daten werden frühzeitig erkannt, sodass der Server keine unnötigen Anfragen verarbeiten muss.
  • Schnellere Interaktionen: Ohne das Neuladen der Seite fühlt sich die Arbeit mit dem Formular schneller und reaktionsfreudiger an.

Über die grundlegende HTML5-Validierung hinaus

HTML5 bietet grundlegende Validierungsattribute wie required, type="email" und pattern. Sie sind zwar nützlich, bieten aber oft nicht genügend Flexibilität für komplexe Geschäftsregeln oder benutzerdefinierte Rückmeldungen.

HTML5 kann beispielsweise nicht ohne Weiteres prüfen, ob ein Passwort bestimmte Anforderungen an die Stärke erfüllt (z. B. mindestens 8 Zeichen, eine Zahl und ein Sonderzeichen) oder ob zwei Passwortfelder übereinstimmen. Hier kommt jQuery ins Spiel!

Das Absenden eines Formulars abfangen

Der erste Schritt bei einer benutzerdefinierten Validierung besteht darin, das standardmäßige Absenden des Formulars durch den Browser zu verhindern. Dafür verwenden wir jQuerys .submit()-Event-Handler und event.preventDefault().

So können wir zuerst unsere Validierungslogik ausführen. Wenn das Formular gültig ist, können wir es anschließend manuell absenden (oder per AJAX senden, was in einer anderen Lektion behandelt wird).

<!-- HTML part (imagine this exists) -->
<form id="myForm">
  <input type="text" id="username" required>
  <button type="submit">Submit</button>
</form>

<script>
  $(document).ready(function() {
    $('#myForm').submit(function(event) {
      // Stop the form from submitting normally
      event.preventDefault(); 
      console.log("Form submission intercepted!");
      // Here, you'd add your validation logic
    });
  });
</script>

Eine benutzerdefinierte Validierungsfunktion strukturieren

Es ist eine gute Praxis, Ihre Validierungslogik in einer wiederverwendbaren Funktion zu kapseln. Diese Funktion kann true zurückgeben, wenn das Formular gültig ist, und andernfalls false.

Anschließend können Sie diese Funktion im submit-Event-Handler Ihres Formulars aufrufen, um zu entscheiden, ob das Absenden fortgesetzt werden soll.

<!-- HTML part -->
<form id="loginForm">
  <input type="text" id="email" placeholder="Email">
  <button type="submit">Login</button>
</form>

<script>
  function validateLoginForm() {
    let isValid = true;
    const email = $('#email').val();

    if (email === '' || !email.includes('@')) {
      console.log("Invalid email!");
      isValid = false;
    }
    // More validation checks here...
    return isValid;
  }

  $(document).ready(function() {
    $('#loginForm').submit(function(event) {
      event.preventDefault();
      if (validateLoginForm()) {
        console.log("Form is valid! Submitting...");
        // $(this).off('submit').submit(); // To submit programmatically
      } else {
        console.log("Form has errors. Please fix.");
      }
    });
  });
</script>

Die Länge von Textfeldern validieren

Eine häufige Validierungsregel besteht darin, die Mindest- oder Maximallänge einer Texteingabe zu prüfen. Dazu können wir einfach den .val()-Wert eines Eingabefelds ermitteln und seine .length-Eigenschaft prüfen.

Wir setzen eine Mindestlänge von 5 Zeichen für den Benutzernamen fest.

<!-- HTML part -->
<form id="userForm">
  <input type="text" id="username" placeholder="Username">
  <button type="submit">Create User</button>
</form>

<script>
  function validateUsernameLength() {
    const username = $('#username').val();
    if (username.length < 5) {
      console.log("Username must be at least 5 characters long.");
      return false;
    }
    return true;
  }

  $(document).ready(function() {
    $('#userForm').submit(function(event) {
      event.preventDefault();
      if (validateUsernameLength()) {
        console.log("Username is valid!");
      } else {
        console.log("Validation failed.");
      }
    });
  });
</script>

Sofortiges Feedback für Benutzer bereitstellen

Fehler einfach nur in der Konsole zu protokollieren, reicht für Benutzer nicht aus! Wir müssen direkt auf der Seite eine klare und sofortige Rückmeldung anzeigen. Sie können Fehlermeldungen neben den Feldern einfügen oder ungültige Eingaben hervorheben.

Wir fügen ein <span>-Element hinzu, das eine Fehlermeldung anzeigt, wenn der Benutzername zu kurz ist.

<!-- HTML part -->
<form id="userFormFeedback">
  <label for="usernameFeedback">Username:</label>
  <input type="text" id="usernameFeedback" placeholder="Min 5 chars">
  <span id="usernameError" style="color: red;"></span>
  <button type="submit">Create User</button>
</form>

<script>
  $(document).ready(function() {
    $('#userFormFeedback').submit(function(event) {
      event.preventDefault();
      const username = $('#usernameFeedback').val();
      const $errorSpan = $('#usernameError');

      if (username.length < 5) {
        $errorSpan.text("Username too short!");
        $('#usernameFeedback').css('border', '1px solid red');
      } else {
        $errorSpan.text("");
        $('#usernameFeedback').css('border', '');
        console.log("Username is valid!");
      }
    });
  });
</script>

E-Mail-Adressen mit regulären Ausdrücken validieren

Für komplexe Mustervergleiche, etwa bei E-Mail-Formaten, sind reguläre Ausdrücke (Regex) unverzichtbar. Die JavaScript-Methode RegExp.test() eignet sich dafür hervorragend.

Ein einfacher Regex für E-Mail-Adressen kann Zeichen, ein '@'-Symbol und eine Domain prüfen. Bedenken Sie, dass ein sehr strenger Regex für E-Mail-Adressen übermäßig komplex sein kann. Streben Sie daher ein ausgewogenes Verhältnis an.

<!-- HTML part -->
<form id="emailForm">
  <label for="userEmail">Email:</label>
  <input type="text" id="userEmail" placeholder="your@example.com">
  <span id="emailError" style="color: red;"></span>
  <button type="submit">Subscribe</button>
</form>

<script>
  $(document).ready(function() {
    $('#emailForm').submit(function(event) {
      event.preventDefault();
      const email = $('#userEmail').val();
      const $errorSpan = $('#emailError');
      // Basic email regex: something@something.something
      const emailRegex = /^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$/;

      if (!emailRegex.test(email)) {
        $errorSpan.text("Invalid email format.");
        $('#userEmail').css('border', '1px solid red');
      } else {
        $errorSpan.text("");
        $('#userEmail').css('border', '');
        console.log("Email is valid!");
      }
    });
  });
</script>

Numerische Wertebereiche validieren

Manchmal müssen Sie sicherstellen, dass eine Zahl innerhalb eines bestimmten Bereichs liegt (z. B. ein Alter zwischen 18 und 65 oder eine Menge zwischen 1 und 100). Wir können den Eingabewert in eine Zahl umwandeln und einfache Vergleiche durchführen.

Denken Sie immer daran, Texteingaben vor numerischen Vergleichen mit parseInt() oder parseFloat() in eine Zahl umzuwandeln.

<!-- HTML part -->
<form id="ageForm">
  <label for="userAge">Your Age:</label>
  <input type="number" id="userAge" placeholder="Enter age">
  <span id="ageError" style="color: red;"></span>
  <button type="submit">Submit Age</button>
</form>

<script>
  $(document).ready(function() {
    $('#ageForm').submit(function(event) {
      event.preventDefault();
      const ageInput = $('#userAge').val();
      const age = parseInt(ageInput, 10); // Convert to integer
      const $errorSpan = $('#ageError');

      if (isNaN(age) || age < 18 || age > 65) {
        $errorSpan.text("Age must be between 18 and 65.");
        $('#userAge').css('border', '1px solid red');
      } else {
        $errorSpan.text("");
        $('#userAge').css('border', '');
        console.log("Age is valid!");
      }
    });
  });
</script>

Mehrere Validierungsregeln kombinieren

Formulare erfordern häufig mehrere Validierungsregeln für ein einzelnes Feld oder für mehrere Felder. Sie können diese Prüfungen in Ihrer Validierungsfunktion verketten.

Ein gängiges Muster besteht darin, zunächst von einem gültigen Zustand auszugehen und isValid = false zu setzen, sobald eine Regel fehlschlägt. So können Sie alle Fehler sammeln, bevor Sie sie dem Benutzer anzeigen.

  • Rufen Sie einzelne Hilfsfunktionen zur Validierung auf.
  • Speichern Sie die Ergebnisse in einem booleschen Flag.
  • Zeigen Sie alle relevanten Fehlermeldungen an.

Prüfen Sie Ihre Validierungskenntnisse

Betrachten Sie ein Formularfeld für einen „Product Code“, das zwei Regeln erfüllen muss:

  1. Es muss genau 6 Zeichen lang sein.
  2. Es darf nur Großbuchstaben und Ziffern enthalten (A-Z, 0-9).

Welches jQuery-Snippet validiert das Eingabefeld „productCode“ korrekt und zeigt eine Fehlermeldung an?

Zusammenfassung: Clientseitige Validierung

In dieser Lektion haben Sie gelernt, wie Sie mit jQuery eine robuste clientseitige Formularvalidierung implementieren. Wir haben Folgendes behandelt:

  • die Bedeutung der clientseitigen Validierung für Benutzererfahrung und Leistung.
  • das Abfangen des Absendevorgangs mit event.preventDefault().
  • die Strukturierung benutzerdefinierter Validierungsfunktionen.
  • die Implementierung von Regeln für Textlängen, E-Mail-Muster (Regex) und numerische Wertebereiche.
  • die Bereitstellung klaren und sofortigen Feedbacks für Benutzer.

Wenn Sie diese Techniken beherrschen, können Sie interaktivere und weniger fehleranfällige Formulare erstellen!

Häufig gestellte Fragen

Ist die Lektion „Logik der clientseitigen Formularvalidierung“ kostenlos?

Ja — der vollständige Text von „Logik der clientseitigen Formularvalidierung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des jQuery Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der jQuery Academy-Kurs umfasst insgesamt 3 Lektionen.

Was lerne ich in „Logik der clientseitigen Formularvalidierung“?

Implementieren Sie erweiterte clientseitige Validierungsregeln, geben Sie Benutzern sofortiges Feedback und stellen Sie mit benutzerdefinierter jQuery-Validierung die Datenintegrität vor dem Absenden… Du übst jQuery Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um jQuery Academy zu starten?

Keine Vorkenntnisse erforderlich. jQuery Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 3.

Wie lange dauert die Lektion „Logik der clientseitigen Formularvalidierung“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser jQuery Academy-Lektion Code schreiben und ausführen?

Ja. Jede jQuery Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Dynamische Bearbeitung von Formularfeldern
  2. Logik der clientseitigen Formularvalidierung
  3. AJAX-Formularübermittlung und Feedback
← Zurück zu jQuery Academy