🧂 🧂 PHP kütüphanesi · v1.0.0 · tek dosya
Formları doğrulamak bir tutam kadar kolay.
Tuzluk, kurulum gerektirmeyen tek dosyalık bir PHP form doğrulama kütüphanesi. Kopyala, require et, kuralları yaz. Hata mesajları hem Türkçe hem İngilizce gelir; hangi dilde geleceğini sen ya da tarayıcı belirler.
require 'tuzluk.php';
$v = new Tuzluk($_POST);
$v->rule('eposta', 'required|email')
->rule('yas', 'required|integer|between:18,99', 'Yaş')
->rule('parola', 'required|min:10');
if ($v->fails()) {
// $v->errors() -> alan başına Türkçe/İngilizce mesaj
foreach ($v->errors() as $alan => $mesajlar) {
echo $mesajlar[0];
}
}
Neden Tuzluk
Küçük bir kütüphane, ama gereksiz hiçbir şeyi eksik bırakmıyor.
Tek dosya
tuzluk.php’yi kopyala, require et. Composer yok, autoload yok, sürüm çakışması yok.
İki dilli hatalar
Her hata mesajı Türkçe ve İngilizce hazır gelir; Accept-Language başlığından otomatik seçilir.
Akıcı API
->rule()->rule() zinciriyle yaz, oku, sürdür. Laravel’e alışkınsan tanıdık gelecek.
Sayısal/metinsel farkı otomatik
"min:18" bir yaş alanında sayı, bir isim alanında karakter sayısı olarak anlaşılır.
Güvenli regex
regex kuralının deseni virgülle bölünmez; içinde virgül geçen desenler bile bozulmaz.
Özelleştirilebilir mesajlar
İstersen tek bir alan + kural için kendi Türkçe/İngilizce metnini yazarsın.
Beş dakikada kur
Bağımlılık yok, Composer’a gerek yok.
1. Dosyayı projene kopyala
curl -O https://acipasta.org.tr/tuzluk/tuzluk.php
2. Kuralları tanımla
require 'tuzluk.php';
$v = new Tuzluk($_POST);
$v->rule('kullanici_adi', 'required|alnum|between:3,20')
->rule('eposta', 'required|email')
->rule('parola', 'required|min:10')
->rule('parola_2', 'required|same:parola', 'Parola tekrarı');
3. Sonucu kullan
if ($v->fails()) {
foreach ($v->errors() as $alan => $mesajlar) {
echo "$alan: {$mesajlar[0]}\n";
}
exit;
}
$temiz = $v->validated(); // yalnızca kural tanımlı, kırpılmış veri
kayit_olustur($temiz);
Canlı örnek
Aşağıdaki form gerçekten Tuzluk ile doğrulanıyor. Boş gönder, kısa bir parola yaz, farklı iki parola gir — hataları canlı gör. Dil düğmesiyle hata dilini değiştirebilirsin.
Kural referansı
Kullanılabilir tüm kurallar ve ne işe yaradıkları.
| Kural | Ne yapar | Örnek |
|---|---|---|
required | Alan boş bırakılamaz. | required |
email | Geçerli e-posta biçimi. | email |
url | Geçerli adres (URL) biçimi. | url |
numeric | Sayısal olmalı. | numeric |
integer | Tam sayı olmalı. | integer |
boolean | true/false, 0/1 gibi bir değer. | boolean |
alpha | Yalnızca harf (Türkçe harfler dahil). | alpha |
alnum | Harf ve rakam. | alnum |
slug | küçük-harf-ve-tire biçimi. | slug |
min:n | En az n (sayısal alanda değer, metinde karakter). | min:10 |
max:n | En fazla n. | max:60 |
between:a,b | a ile b arasında. | between:18,99 |
in:a,b,c | Listedeki değerlerden biri. | in:tr,en |
same:alan | Başka bir alanla aynı olmalı. | same:parola |
different:alan | Başka bir alandan farklı olmalı. | different:eski_parola |
date | Geçerli bir tarih. | date |
date_format:biçim | Belirtilen biçime tam uymalı. | date_format:Y-m-d |
regex:desen | Düzenli ifadeyle eşleşmeli. | regex:/^[0-9]{10}$/ |