ylab / validation
Module wrapper for illuminate/validation (Laravel) library for Bitrix
Installs: 287
Dependents: 0
Suggesters: 0
Security: 0
Stars: 8
Watchers: 2
Forks: 2
Open Issues: 0
Type:bitrix-d7-module
pkg:composer/ylab/validation
Requires
- php: >=5.6.4
- composer/installers: ~1.0
- illuminate/validation: >=5.4
This package is not auto-updated.
Last update: 2025-11-06 06:53:12 UTC
README
Модуль является оберткой над библиотекой валидации Laravel.
- php: >=5.6.4
- Bitrix: >= 17.0.0
- illuminate/validation: >=5.4
Установка с github
-
Необходимо установить
illuminate/validation, через composer:php composer.phar install illuminate/validation 5.5 -
В файле
local/php_interface/init.phpподключить composer автозагрузчик:require_once(dirname(__FILE__) . '/../vendor/autoload.php'); -
Копируем репозиторий:
cd local/modules git clone git@github.com:ylabio/ylab.validation.git cd ylab.validation -
В папку
local/modulesбудет склонирован репозиторий модуля, после этого, необходимо в панели администратора установить модуль:Рабочий стол -> Marketplace -> Установленные решения.
Установка через composer
composer require ylab/validation:dev-master
Для установки в local/modules, необходимо в composer.json добавить:
"extra": { //путь до папки local, например ../local, если composer.json лежит в папке local "bitrix-dir": "" }
Использование
Для реализации компонента с валидацией, можно использовать пример кода:
local/modules/ylab.validation/install/components/ylab/validation.test/class.php.
В данном примере класс компонента наследуется от абстрактного класса YLab\Validation\ComponentValidation, который на
себя берет функцию инициализации объекта валидации и обязывает реализовать метод rules().
В конструкторе абстрактного класса объект валидатора инициализируется следующим образом:
$this->oValidator = ValidatorHelper::makeCustomValidator([], $this->rules(), $sFile, LANGUAGE_ID);
В методе ValidatorHelper::makeCustomValidator() подключаются языковые файлы компонента и модуля. Языковые файлы модуля
содержат описание стандартных ошибок, наследуемый компонент может заменять предустановленные фразы ошибок на собственные.
Пример компонента
Собственные правила валидации
Создать собственные правила валидации можно в компоненте в отдельном методе или методе executeComponent():
/** * При необходимости в компоненте можно реализовать дополнительные правила валидации, например, данный валидатор * проверяет наличие пользователя в базе данных по ID. */ $this->oValidator->addExtension('user_exists', function($attribute, $value, $parameters, $validator) { $arValidate = UserTable::getList([ 'select' => ['ID'], 'filter' => ['=ID' => $value], 'limit' => 1 ])->fetch(); return $arValidate['ID'] ? true : false; });