old-oak / easy-validator
Validating data means PHP.
dev-master
2022-07-20 10:35 UTC
Requires
- php: >=5.6.0
- ext-ctype: *
- ext-fileinfo: *
- ext-iconv: *
- ext-json: *
- ext-mbstring: *
Requires (Dev)
- phpunit/phpunit: 5.7.27
This package is not auto-updated.
Last update: 2025-07-03 23:04:14 UTC
README
Простая, независимавая библиотека для валидации данных с удобным синтаксисом и применением.
Приемущества
- Независиммая, нет внутренних зависимостей других библиотек.
- Простая в использовании.
- Просто расширяется.
Установка
Через 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 | Проверка на логический тип | boolean |
Char | Проверка строки с определенным кол-вом символов N | char:5 |
CharMax | Проверка строки с определенным кол-вом символов, которое меньше или равно N | charMax:5 |
CharMin | Проверка строки с определенным кол-вом символов, которое больше или равно N | charMin:5 |
Choice | Проверка наличия значение в списке | choice:[test|123] |
Date | Проверка, является ли значение датой | date |
Digits | Проверка, является ли значение целым числом | digits, digits:5 |
Проверка, является ли значение электронной почтой | ||
File | Проверка, является ли значение файлом и расширением | file, file:jpg, file:[png|jpg] |
Float | Проверка, является ли значение с плавающей запятой | float |
Max | Проверка, является ли значение числом, которое больше чем N | max:5 |
Min | Проверка, является ли значение числом, которое меньше чем N | min:5 |
Nullable | Пропуск пустого значения | nullable |
Numeric | Проверка, является ли значение числом | numeric, numeric:123, numeric:3,5 |
Object | Проверка, является ли значение объектом | object |
OnlyLetters | Проверка, является ли значение строкой только с буквами или пустой | onlyLetters |
Phone | Проверка, является ли значение номером телефона из определенной страны | phone, phone:rus, phone:[rus|ukr] |
Plurality | Проверка, является ли значение массивом или объектом, который реализует интерфейс ArrayAccess | plurality |
Regexp | Проверка, значения по шаблону регулярного выражения | regexp:/^a-zA-Z$/ |
Required | Проверка, является ли значение заполненным | required |
String | Проверка, является ли значение строкой | string |
Url | Проверка, является ли значение url | url, url:google.com |
Содействие разработки
Спасибо, что решили внести свой вклад в разработку данной библиотеки.
Лицензия
Библиотека использует GNU GPLv3. Дополненеие к данной лицензии служит то, что ЛЮБОЙ разработчик может ее использовать вне зависимсоти от политической обстановки.