Datenvalidierung in Swift: Die Bibliothek Validator

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Was ist ein Validator und wozu wird er benötigt?

Validator ist eine leichtgewichtige Bibliothek zur Datenvalidierung in Swift, die für iOS- und macOS-Anwendungen entwickelt wurde. Sie ermöglicht es, Prüfregeln für Benutzereingaben deklarativ zu beschreiben und dabei umständliche if-else-Konstrukte zu vermeiden. Das Hauptziel ist es, die Verarbeitung von Formularen, API-Anfragen und anderen Daten zu vereinfachen, bei denen eine Korrektheitsprüfung erforderlich ist (E-Mail, Passwort, Alter, Zahlenbereich usw.).

Installation

Validator wird über den Swift Package Manager (SPM) installiert. Fügen Sie in Package.swift die Abhängigkeit hinzu:

.package(url: "https://github.com/adamwaite/Validator.git", from: "3.2.0")

Oder über Xcode: File → Add Packages → fügen Sie die Repository-URL ein.

Hauptfunktionen

  • String-Validierung: E-Mail, URL, reguläre Ausdrücke, Länge, Nicht-Leerheit.
  • Numerische Validierung: Bereich, Minimal-/Maximalwert, ganze Zahlen.
  • Zusammengesetzte Regeln: Kombination mehrerer Bedingungen über And / Or.
  • Benutzerdefinierte Validatoren: Erstellung eigener Regeln über Closures.
  • Integration mit UIKit/SwiftUI: Fertige Erweiterungen für UITextField und SwiftUI View.

Codebeispiel in Swift (iOS)

import Validator

// 1. Regel für E-Mail definierenlet emailRule = ValidationRulePattern(pattern: EmailValidationPattern.standard, error: "Ungültige E-Mail")

// 2. String validierenlet email = "test@example.com"let result = email.validate(rule: emailRule)

switch result {case .valid: print("E-Mail ist gültig")case .invalid(let errors): print("Fehler: \\(errors)")}

// 3. Zusammengesetzte Regel: Passwort zwischen 8 und 20 Zeichen, enthält mindestens eine Zifferlet passwordRule = ValidationRuleLength(min: 8, max: 20, error: "Passwortlänge zwischen 8 und 20") && ValidationRulePattern(pattern: ".*[0-9].*", error: "Passwort muss eine Ziffer enthalten")

let password = "SecurePass1"let passwordResult = password.validate(rule: passwordRule)

// 4. Validierung von UITextField (UIKit)let textField = UITextField()textField.text = "user@domain.com"textField.validate(rule: emailRule) { result in // Ergebnisverarbeitung}

Wann Validator verwenden

  • Registrierungs-/Anmeldeformulare (E-Mail, Passwort, Telefon).
  • Eingabevalidierung in UITextField / SwiftUI TextField.
  • Datenprüfung vor dem Senden an den Server.
  • Filterung und Prüfung von Benutzerinhalten (Bewertungen, Kommentare).
  • Parsing und Validierung von JSON/API-Antworten.

Die Bibliothek ist ideal für Projekte, die ein flexibles, lesbares und erweiterbares System zur Datenprüfung ohne überflüssigen Boilerplate-Code benötigen.

Empfehlungen