> ## Documentation Index
> Fetch the complete documentation index at: https://ziva.zeleza.ru/llms.txt
> Use this file to discover all available pages before exploring further.

# Doğrulama Genel Bakış

> Ziva'ta giriş verisi doğrulama sistemi

# 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ü

```go theme={null}
type Validator interface {
    Validate(input string) error
}
```

### Doğrulamayı Uygulama

```go theme={null}
input := ziva.NewInputTask("Email", "Email girin:").
    WithValidator(ziva.DefaultValidators.Email())
```

## Yerleşik Doğrulaycılar

### Temel Doğrulaycılar

```go theme={null}
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ı

```go theme={null}
// 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ı

```go theme={null}
// 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ı

```go theme={null}
// 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

```go theme={null}
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

```go theme={null}
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ı")
```
