seymenkonuk/validator
Composer 安装命令:
composer require seymenkonuk/validator
包简介
Modern PHP uygulamaları için geliştirilmiş şema tabanlı veri doğrulama kütüphanesi. Esnek kural sistemi, iç içe veri yapısı desteği ve zincirlenebilir API ile güçlü ve ölçeklenebilir validasyon çözümleri sunar.
README 文档
README
Modern PHP uygulamaları için geliştirilmiş şema tabanlı veri doğrulama kütüphanesi.
Açıklama
Modern PHP uygulamaları için geliştirilmiş fluent API tabanlı, şema odaklı bir veri doğrulama kütüphanesidir. Karmaşık veri yapılarını (nested object, array, primitive tipler) okunabilir ve zincirlenebilir bir API ile tanımlamanıza olanak sağlar. Yerleşik kuralların yanı sıra genişletilebilir yapı sunar ve doğrulama hatalarını çoklu dil desteği ile yönetebilir. Framework bağımsızdır ve her PHP projesine kolayca entegre edilebilir.
Özellikler
- Fluent API
- Şema tabanlı doğrulama
- İç içe nesne (nested object) desteği
- Dizi (array) doğrulama desteği
- Varsayılan değerler
- Güçlü tip doğrulama
- Tarih ve zaman doğrulamaları
- Çoklu dil (i18n) desteği
- Özelleştirilebilir çeviri sistemi
- Detaylı hata raporlama
- Framework bağımsız kullanım
- PHPUnit ile test edilmiş
- PHPStan desteği
Kurulum
composer require seymenkonuk/validator
Yapılandırma
Yerelleştirme
$validator = new Validator(new Translator( new FileLoader(), "tr", ));
Özel Dil Ekleme
Kütüphanede şu an yalnızca iki dil bulunmaktadır. Bu diller haricinde bir dil kullanmak isterseniz kendi dilinizi ekleyebilirsiniz.
$validator = new Validator(new Translator( new FileLoader(__DIR__ . "/lang"), "tr", ));
Örnek Dil Dosyası
return [ "required" => "Bu alan zorunludur.", "string" => "Bu alan metin olmalıdır.", "email" => "Bu alan geçerli bir e-posta olmalıdır.", 'min' => 'Bu alan en az {value} olmalıdır!', // ve daha fazlası... ];
Kullanım
Şema Oluşturma
$schema = $validator->object()->schema([ "username" => $validator->field() ->string() ->min(2) ->max(10) ->required(), "email" => $validator->field() ->email() ->required(), "is_agreed" => $validator->field() ->bool() ->true() ->required(), ]);
Doğrulama
$result = $schema->validate([ "username" => "seymenkonuk", "email" => "konukrecepseymen@gmail.com", "is_agreed" => true, ]); if ($result->passed()) { var_dump($result->validated()); } else { // if ($result->failed()) { var_dump($result->errors()); }
Nested Şema
$schema = $validator->object()->schema([ "parent" => $validator->object()->schema([ "name" => $validator->field()->string()->required(), "surname" => $validator->field()->string()->required(), ])->required(), ]);
Dizi Doğrulama
$schema = $validator->object()->schema([ "hobbies" => $validator->array() ->items($validator->field()->string()) ->minItems(0) ->maxItems(10) ->default([]), ]);
Lisans
Bu proje MIT Lisansı ile lisanslanmıştır.
统计信息
- 总下载量: 38
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 14
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-06-10