phpsoftbox / validator
Validator component for the PhpSoftBox framework
Installs: 2
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/phpsoftbox/validator
Requires
- php: ^8.4
- phpsoftbox/collection: dev-master
- phpsoftbox/validator-db: ^1.0
- psr/http-message: ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.93
- phpsoftbox/cli-app: dev-master
- phpsoftbox/cs-fixer: ^1.0.1
- phpunit/phpunit: ^11.2
This package is auto-updated.
Last update: 2026-02-06 10:49:36 UTC
README
Компонент для валидации данных через набор правил‑объектов.
Установка
composer require phpsoftbox/validator
Быстрый старт
<?php use PhpSoftBox\Validator\Validator; use PhpSoftBox\Validator\Rule\StringValidation; use PhpSoftBox\Validator\Rule\IntValidation; $validator = new Validator(); $result = $validator->validate( data: [ 'name' => 'Alex', 'age' => 17, ], rules: [ 'name' => [(new StringValidation())->min(2)->max(50)->required()], 'age' => [(new IntValidation())->min(18)], ], ); if ($result->hasErrors()) { $errors = $result->errorBag()->all(); }
Документация
- docs/01-usage.md — базовое использование и результат валидации
- docs/02-data-paths.md — dot‑пути и wildcard
- docs/03-messages.md — сообщения, плейсхолдеры, attributes
- docs/04-required.md — required/nullable и required‑сценарии
- docs/validators/01-string-validation.md — StringValidation
- docs/validators/02-int-validation.md — IntValidation
- docs/validators/03-float-validation.md — FloatValidation
- docs/validators/04-bool-validation.md — BoolValidation
- docs/validators/05-array-validation.md — ArrayValidation
- docs/validators/06-present-validation.md — PresentValidation
- docs/validators/07-filled-validation.md — FilledValidation
- docs/validators/08-missing-validation.md — MissingValidation
- docs/validators/09-exclude-validation.md — ExcludeValidation
- docs/validators/10-prohibited-validation.md — ProhibitedValidation
- docs/validators/11-prohibits-validation.md — ProhibitsValidation
- docs/validators/12-anyof-validation.md — AnyOfValidation
- docs/validators/13-bail-validation.md — BailValidation
- docs/validators/14-date-validation.md — DateValidation
- docs/validators/15-file-validation.md — FileValidation
- docs/validators/16-exists-validation.md — ExistsValidation
- docs/validators/17-unique-validation.md — UniqueValidation
Режимы остановки
use PhpSoftBox\Validator\ValidationOptions; use PhpSoftBox\Validator\ValidationStopMode; $options = new ValidationOptions(stopMode: ValidationStopMode::FIRST_PER_FIELD);