PHPackages                             old-oak/easy-validator - 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. old-oak/easy-validator

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

old-oak/easy-validator
======================

Validating data means PHP.

00PHP

Since Jul 20Pushed 3y ago1 watchersCompare

[ Source](https://github.com/old-oak/easy-validator)[ Packagist](https://packagist.org/packages/old-oak/easy-validator)[ RSS](/packages/old-oak-easy-validator/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

EasyValidator
=============

[](#easyvalidator)

Простая, независимавая библиотека для валидации данных с удобным синтаксисом и применением.

Приемущества
------------

[](#приемущества)

- Независиммая, нет внутренних зависимостей других библиотек.
- Простая в использовании.
- Просто расширяется.

Установка
---------

[](#установка)

Через Composer

```
$ composer require old-oak/easy-validator
```

Или просто скачав архив и добавив подключение файла автозагрузки.

```
require_once 'autoload.php';
```

Использование
-------------

[](#использование)

Множественная проверка на несколько правил:

```
use OldOak\EasyValidator\Validator;

//Поля для проверки со сводами правил
$fields = [
  'login' => ['required', 'email']
];

//Значение, для проверки
$values = [
    'login' => 'test@test.com'
];

//Сообщения об ошибках исходя из правила
$messages = [
  'login.required' => 'Введите Ваш логин',
  'login.email' => 'Ваш логин должен быть электронной почтой',
];

//Или так
$messages1 = [
  'login' => 'Логин обязателен и должен быть электронной почтой.',
];

//Получаем экземпляр валидатора
$validator = Validator::make($fields, $values, $messages);

//Валидируем данные и получаем результат валидации
$res = $validator->validate()->result;
```

Одиночная проверка

```
use OldOak\EasyValidator\Validator;

//Проверяем, является ли данные электронной почтой
$isEmail = Validator::isEmail('test@test.com');
```

Добавление кастом правил для валидации

```
use OldOak\EasyValidator\Rule\AbstractRulebook;
use OldOak\EasyValidator\Rule\Registration;

//Создаем класс, которые будет валидировать новое правило
class KnockRule extends AbstractRulebook {

    /**
     * Метод проверки
     * @return bool
     */
    public function validate()
    {
        return $this->value === 'knock';
    }
}

//Регистрируем правило в библиотеке
Registration::addCustomRule('knock', KnockRule::class);

//Используем проверку
$isKnock = Validator::isKnock('knock');
```

Таблица свода правил, которые доступны по умолчанию
---------------------------------------------------

[](#таблица-свода-правил-которые-доступны-по-умолчанию)

  Название правила Описание Использование     [Boolean](https://github.com/old-oak/easy-validator/blob/master/docs/Rulebooks.md#Boolean)   Проверка на логический тип   boolean     [Char](https://github.com/old-oak/easy-validator/blob/master/docs/Rulebooks.md#Char)   Проверка строки с определенным кол-вом символов N   char:5     [CharMax](https://github.com/old-oak/easy-validator/blob/master/docs/Rulebooks.md#CharMax)   Проверка строки с определенным кол-вом символов, которое меньше или равно N   charMax:5     [CharMin](https://github.com/old-oak/easy-validator/blob/master/docs/Rulebooks.md#CharMin)   Проверка строки с определенным кол-вом символов, которое больше или равно N   charMin:5     [Choice](https://github.com/old-oak/easy-validator/blob/master/docs/Rulebooks.md#Choice)   Проверка наличия значение в списке   choice:\[test|123\]     [Date](https://github.com/old-oak/easy-validator/blob/master/docs/Rulebooks.md#Date)   Проверка, является ли значение датой   date     [Digits](https://github.com/old-oak/easy-validator/blob/master/docs/Rulebooks.md#Digits)   Проверка, является ли значение целым числом   digits, digits:5     [Email](https://github.com/old-oak/easy-validator/blob/master/docs/Rulebooks.md#Email)   Проверка, является ли значение электронной почтой   email     [File](https://github.com/old-oak/easy-validator/blob/master/docs/Rulebooks.md#File)   Проверка, является ли значение файлом и расширением   file, file:jpg, file:\[png|jpg\]     [Float](https://github.com/old-oak/easy-validator/blob/master/docs/Rulebooks.md#Float)   Проверка, является ли значение с плавающей запятой   float     [Max](https://github.com/old-oak/easy-validator/blob/master/docs/Rulebooks.md#Max)   Проверка, является ли значение числом, которое больше чем N   max:5     [Min](https://github.com/old-oak/easy-validator/blob/master/docs/Rulebooks.md#Min)   Проверка, является ли значение числом, которое меньше чем N   min:5     [Nullable](https://github.com/old-oak/easy-validator/blob/master/docs/Rulebooks.md#Nullable)   Пропуск пустого значения   nullable     [Numeric](https://github.com/old-oak/easy-validator/blob/master/docs/Rulebooks.md#Numeric)   Проверка, является ли значение числом   numeric, numeric:123, numeric:3,5     [Object](https://github.com/old-oak/easy-validator/blob/master/docs/Rulebooks.md#Object)   Проверка, является ли значение объектом   object     [OnlyLetters](https://github.com/old-oak/easy-validator/blob/master/docs/Rulebooks.md#OnlyLetters)   Проверка, является ли значение строкой только с буквами или пустой   onlyLetters     [Phone](https://github.com/old-oak/easy-validator/blob/master/docs/Rulebooks.md#Phone)   Проверка, является ли значение номером телефона из определенной страны   phone, phone:rus, phone:\[rus|ukr\]     [Plurality](https://github.com/old-oak/easy-validator/blob/master/docs/Rulebooks.md#Plurality)   Проверка, является ли значение массивом или объектом, который реализует интерфейс ArrayAccess   plurality     [Regexp](https://github.com/old-oak/easy-validator/blob/master/docs/Rulebooks.md#Regexp)   Проверка, значения по шаблону регулярного выражения   regexp:/^a-zA-Z$/     [Required](https://github.com/old-oak/easy-validator/blob/master/docs/Rulebooks.md#Required)   Проверка, является ли значение заполненным   required     [String](https://github.com/old-oak/easy-validator/blob/master/docs/Rulebooks.md#String)   Проверка, является ли значение строкой   string     [Url](https://github.com/old-oak/easy-validator/blob/master/docs/Rulebooks.md#Url)   Проверка, является ли значение url   url, url:google.com   Содействие разработки
---------------------

[](#содействие-разработки)

Спасибо, что решили внести свой вклад в разработку данной библиотеки.

Лицензия
--------

[](#лицензия)

Библиотека использует [GNU GPLv3](https://opensource.org/licenses/GPL-3.0). Дополненеие к данной лицензии служит то, что ЛЮБОЙ разработчик может ее использовать вне зависимсоти от политической обстановки.

###  Health Score

13

—

LowBetter than 1% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity0

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity25

Early-stage or recently created project

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/a9675d076b2538b92947f64f50fc3e4d94891be386581a5d4fdecb17afd61627?d=identicon)[old-oak](/maintainers/old-oak)

### Embed Badge

![Health badge](/badges/old-oak-easy-validator/health.svg)

```
[![Health](https://phpackages.com/badges/old-oak-easy-validator/health.svg)](https://phpackages.com/packages/old-oak-easy-validator)
```

PHPackages © 2026

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