PHPackages                             ahmetbarut/validation - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Validation &amp; Sanitization](/categories/validation)
4. /
5. ahmetbarut/validation

ActivePackage[Validation &amp; Sanitization](/categories/validation)

ahmetbarut/validation
=====================

Php form doğrulama

v1.0.3(4y ago)115MITPHPPHP &gt;=7.4.23

Since Sep 18Pushed 4y ago1 watchersCompare

[ Source](https://github.com/ahmetbarut/validation)[ Packagist](https://packagist.org/packages/ahmetbarut/validation)[ RSS](/packages/ahmetbarut-validation/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (2)DependenciesVersions (6)Used By (0)

- [Doğrulama Hakkında](#do%C4%9Frulama-hakk%C4%B1nda)
- [Özellikleri](#%C3%B6zellikleri)
- [Gereklilikler](#gereklilikler)
- [Basit Kullanım](#basit-kullan%C4%B1m)
- [Kurallar](#kurallar)
- [Kurulum Ve Kural Tanımlama](#kurulum-ve-kural-tan%C4%B1mlama)
    - [Kurulum](#kurulum)
    - [Kural Tanımlama](#kural-tan%C4%B1mlama)
- [Parametre Gönderme](#parametre-g%C3%B6nderme)

Doğrulama Hakkında
==================

[](#doğrulama-hakkında)

Bu doğrulama paketi, size kolay bir şekilde formları doğrulamanıza olanak sağlar. Basit mantık üzerinde işleyişi yatıyor. Kuralı tanımla, kuralı nesneye tanıt ve kuralı kullan şeklindedir.

`Illuminate\Validation` Laravel'den esinlenilmiştir.

Özellikleri
===========

[](#özellikleri)

- Özel kurallar belirleme
- Özel hata mesajları belirleme
- Kullanım kolaylığı

Gereklilikler
=============

[](#gereklilikler)

- composer
- php &gt;= 7.4.23

Basit Kullanım
==============

[](#basit-kullanım)

Paketi kurmadan önce basit kullanımına bakalım:

```
$validation = new ahmetbarut\Validation\Validate();

$validation->setFields($_POST)->setRules(
    [
        "id" => ["required", "number"],
        "name" => ["string", "required"],
        "date" => ["date", "required"],
    ]
)->make();
```

`setFields` yöntemi, form alanlarını dizi şeklinde vermenizi sağlar. `setRules` yöntemi, kurallardan geçecek olan alanları belirtmemizi sağlar. `make` yöntemi, sıraya alınan işleri yürütür ve sonucu döndürür. Başarı durumunda `true`, başarısızlık durumunda ise hata mesajı döndürür.

Kurallar
========

[](#kurallar)

Kurallar, ilgili input alanlarının karşılaması gereken koşulları belirtmeyi sağlar. Yani basitçe ilgili input alanında sadece sayı ve 1-9 arasında değeri kabul ediyoruz normal durumda bunun için koşul yazıp, o şekilde doğrularız burda sorun yok ama birden fazla form alanı varsa ? Bu durumda sürekli kopyala/yapıştır yapmamız gerekebilir fakat burda kural yazınca ona bile gerek kalmıyor 1 defa yaz sürekli kullan ve karmaşayı da önlüyor.

Kurulum Ve Kural Tanımlama
==========================

[](#kurulum-ve-kural-tanımlama)

Kurulum
-------

[](#kurulum)

Kurulum için `composer`'e ihtiyacımız var. [getcomposer.com](https://getcomposer.com/download) adresinden indirebilirsiniz.

```
    composer require ahmetbarut/validation
```

Eğer uygulamanızda Container(Kapsayıcı) kullanılıyorsa nesneyi kapsayıcı içinde oluşturmanız daha sağlıklı olur.

Kural Tanımlama
---------------

[](#kural-tanımlama)

Kural tanımlamak için öncelikle bu arayüzü `ahmetbarut\Validation\Validation\Rule` **implement** etmeniz gerekiyor. İlgili arayüzde 2 yöntemi ekletmek isteyecek. Bunlar: `check` ve `message``check` yönteminde, koşul yazmanızı sağlar ve duruma göre `bool` değer döndürmeniz gerekli. `message` yönteminde eğer başarısızlık varsa ilgili mesaj geriye döndürülür. Örenk Sınıf:

```
namespace ahmetbarut\Validation\Validation\Rules;

use ahmetbarut\Validation\Validation\Rule;

class Number implements Rule
{

    public function check(string $attr, string $value): bool
    {
        return is_numeric($value);
    }

    public function message(): string
    {
        return "Sayısal olmalıdır!";
    }
}
```

Bu sınıfı nesneye tanıtmak için nesneyi ilk oluşturduğumuzda verebiliriz. Bu arada nesneyi isteklerin ilk geldiği veya isteklerin geçtiği yerde oluşturmanız gerekli sonraki durumlarda böyle bir zorunluluk yok. Yani şöyle, eğer kural tanımlanacaksa belirttiğim şekilde olması gerekli. Sonraki durumda kuralların tutulduğu değişken `static` olduğu için nesneyi bir sonraki sefer ürettiğinizde yok olmaz önceki değerleri taşır.

Kural tanımlamanın 1 kuralı vardır. Dizi şeklinde verilmesi gerekir. Örn \["kural\_adi" =&gt; Kural::class\] kurala verilmek istenen isim ve sınıfın alan adı yani `namespace`. Kuralı tanımlayalım :

```
use ahmetbarut\Validation\Validate;
use ahmetbarut\Validation\Validation\Rule;

require_once "./vendor/autoload.php";

class Number implements Rule
{

    public function check(string $attr, string $value): bool
    {
        return is_numeric($value);
    }

    public function message(): string
    {
        return "Sayısal olmalıdır!";
    }
}

$validation = new ahmetbarut\Validation\Validate(["numara" => \Number::class]);

$validation->setFields($_POST)->setRules(
    [
        "id" => ["required", "numara"],
        "name" => ["string", "required"],
        "date" => ["date", "required"],
    ]
)->make();
```

Verilen form alanlarını nesne üzerinden almak istiyorsanız

```
$validation = new ahmetbarut\Validation\Validate(["numara" => \Number::class]);

$validation->setFields($_POST)->setRules(
    [
        "id" => ["required", "numara"],
        "name" => ["string", "required"],
        "date" => ["date", "required"],
    ]
)->make();

$validation->getAllFields();
```

Parametre Gönderme
==================

[](#parametre-gönderme)

Kurala parametre atanabiliyor. Ama öncesinde ilgili kuralın `__construct` yöntemi tanımlı olmalı. Onun dışında herhangi bir eklemeye ihtiyaç duymuyor.

```
$validation = new ahmetbarut\Validation\Validate();

$validation->setFields($_POST)->setRules(
    [
        "id" => ["required",  new Max(50)],
        "name" => ["string", "required"],
        "date" => ["date", "required"],
    ]
)->make();

$validation->getAllFields();
```

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

4

Last Release

1699d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/530008a3a5e32fa689343dc342c6686b50267ba86905e55e5f42ad2d1c8c193c?d=identicon)[ahmetbarut](/maintainers/ahmetbarut)

---

Top Contributors

[![ahmetbarut](https://avatars.githubusercontent.com/u/36641723?v=4)](https://github.com/ahmetbarut "ahmetbarut (6 commits)")

---

Tags

phpphp-validationsimple-validation

### Embed Badge

![Health badge](/badges/ahmetbarut-validation/health.svg)

```
[![Health](https://phpackages.com/badges/ahmetbarut-validation/health.svg)](https://phpackages.com/packages/ahmetbarut-validation)
```

###  Alternatives

[webmozart/assert

Assertions to validate method input/output with nice error messages.

7.6k894.0M1.2k](/packages/webmozart-assert)[bensampo/laravel-enum

Simple, extensible and powerful enumeration implementation for Laravel.

2.0k15.9M104](/packages/bensampo-laravel-enum)[swaggest/json-schema

High definition PHP structures with JSON-schema based validation

48612.5M73](/packages/swaggest-json-schema)[stevebauman/purify

An HTML Purifier / Sanitizer for Laravel

5325.6M19](/packages/stevebauman-purify)[ashallendesign/laravel-config-validator

A package for validating your Laravel app's config.

217905.3k5](/packages/ashallendesign-laravel-config-validator)[crazybooot/base64-validation

Laravel validators for base64 encoded files

1341.9M8](/packages/crazybooot-base64-validation)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
