Ana içeriğe atla

Doğrulama Sistemi

Ziva, InputTask’ta kullanıcı girişini kontrol etmek için güçlü ve esnek bir doğrulama sistemi sağlar.

Temel Kavramlar

Doğrulaycı Arayüzü

type Validator interface {
    Validate(input string) error
}

Doğrulamayı Uygulama

input := ziva.NewInputTask("Email", "Email girin:").
    WithValidator(ziva.DefaultValidators.Email())

Yerleşik Doğrulaycılar

Temel Doğrulaycılar

v := ziva.DefaultValidators

// Zorunlu alan (boş olmamalı)
validator := v.Required()

// Minimum uzunluk
validator = v.MinLength(5)

// Maksimum uzunluk
validator = v.MaxLength(20)

// Tam uzunluk
validator = v.Length(8)

// Sayısal aralık
validator = v.Range(1, 100)

Format Doğrulaycıları

// Email adresi
validator := v.Email()

// İsteğe bağlı email (boş olabilir)
validator = v.OptionalEmail()

// URL adresi
validator = v.URL()

// Sadece harf ve rakam
validator = v.AlphaNumeric()

// Kullanıcı adı
validator = v.Username()

// Dosya/dizin yolu
validator = v.Path()

Ağ Doğrulaycıları

// IP adresi (IPv4 veya IPv6)
validator := v.IP()

// Sadece IPv4
validator = v.IPv4()

// Sadece IPv6
validator = v.IPv6()

// Domain adı
validator = v.Domain()

// Port (1-65535)
validator = v.Port()

Şifre Doğrulaycıları

// Standart şifre (minimum 8 karakter)
validator := v.StandardPassword()

// Güçlü şifre (minimum 12 karakter, harf, rakam, sembol)
validator = v.StrongPassword()

Kullanım Örnekleri

Email Doğrulama

emailTask := ziva.NewInputTask("Email", "Email adresinizi girin:").
    WithValidator(ziva.DefaultValidators.Email())

queue := ziva.NewQueue("Kayıt")
queue.AddTasks(emailTask)
queue.Run()

fmt.Printf("Email: %s\n", emailTask.GetValue())

Şifre Doğrulama

passwordTask := ziva.NewInputTask("Şifre", "Şifre girin:").
    WithInputType(ziva.InputTypePassword).
    WithValidator(ziva.DefaultValidators.StrongPassword())

queue := ziva.NewQueue("Güvenlik")
queue.AddTasks(passwordTask)
queue.Run()

fmt.Println("Şifre ayarlandı")
I