Skip to content

Guide Validation

GitHub Actions edited this page Jan 25, 2026 · 2 revisions

Tutorial 5: Input Validation

Lerne, wie du Input Validation in VelinScript implementierst.

Validator verwenden

Basis-Validierung

@POST("/api/users")
fn createUser(name: string, email: string): User {
    let validator: Validator = Validator.new();
    
    validator
        .required("name", name)
        .minLength("name", name, 3)
        .maxLength("name", name, 50)
        .email("email", email);
    
    if (!validator.isValid()) {
        let errors = validator.errors();
        // Fehlerbehandlung
        return User { id: "", name: "", email: "" };
    }
    
    // Validierung erfolgreich, weiter mit Logik
    let user = User {
        id: generateId(),
        name: name,
        email: email
    };
    return db.save(user);
}

Erweiterte Validierung

@POST("/api/products")
fn createProduct(name: string, price: number, sku: string): Product {
    let mut validator = Validator::new();
    
    validator
        .required("name", &name)
        .min_length("name", &name, 3)
        .max_length("name", &name, 100)
        .required("sku", &sku)
        .pattern("sku", &sku, "^[A-Z0-9-]+$", "SKU muss alphanumerisch sein");
    
    if (!validator.is_valid()) {
        let errors = validator.errors();
        return HttpResponse::bad_request(
            errors.map(|e| format!("{}: {}", e.field, e.message)).join(", ")
        );
    }
    
    return db.save(Product { name, price, sku });
}

Best Practices

  1. Immer validieren für User-Input
  2. Klare Fehlermeldungen bereitstellen
  3. Konsistente Validierung über alle Endpoints
  4. Type Safety nutzen

Nächste Schritte


Zurück zur Übersicht

Clone this wiki locally