Download the PHP package phpsoftbox/validator-db without Composer
On this page you can find all versions of the php package phpsoftbox/validator-db. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download phpsoftbox/validator-db
More information about phpsoftbox/validator-db
Files in phpsoftbox/validator-db
Package validator-db
Short Description Database-backed validation rules and contracts for PhpSoftBox Validator
License MIT
Informations about the package validator-db
PhpSoftBox Validator DB
Контракты, правила и executors для интеграции phpsoftbox/validator с базой данных.
Установка
Adapter
Для одиночных проверок реализуйте DatabaseValidationAdapterInterface:
Для ExistsValidation::all() реализуйте DatabaseBulkValidationAdapterInterface и возвращайте
ExistingValuesQueryInterface. Bulk-запрос получает LookupSpec, содержащий таблицу, lookup-column,
список значений, дополнительные where-критерии и warmup key columns.
Регистрация executors
Передайте registry в PhpSoftBox\Validator\Validator.
Exists
Bulk-проверка всех значений:
Unique
Колонка и scope
- Без
column()колонка — последний нечисловой сегмент пути поля:user.email→email,items.0.product_id→product_id. Имя попадает в текст SQL, поэтому допускается только идентификатор; иначе —InvalidArgumentExceptionс просьбой указатьcolumn(). - Условия
LookupSpec(например,tenant_id) применяются и в одиночной проверкеexistsсlookup(), не только вall(). Явнаяcolumn()вместе с lookup задаёт колонку поиска, а не игнорируется. exists_allсравнивает числовые значения как числа ("01"найден, если БД вернула1). Регистр и пробелы строк сравниваются как есть: правила сравнения в БД зависят от collation.
Breaking change
DB rules и executors перенесены из Validator. Старые namespace не поддерживаются:
Подробные примеры находятся в docs/exists-validation.md и docs/unique-validation.md.
Лицензия
MIT