承接 ylab/validation 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ylab/validation

Composer 安装命令:

composer require ylab/validation

包简介

Module wrapper for illuminate/validation (Laravel) library for Bitrix

README 文档

README

Latest Stable Version Total Downloads Latest Unstable Version License

Модуль является оберткой над библиотекой валидации 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() подключаются языковые файлы компонента и модуля. Языковые файлы модуля содержат описание стандартных ошибок, наследуемый компонент может заменять предустановленные фразы ошибок на собственные.

Пример компонента

https://github.com/ylabio/ylab.validation/blob/master/install/components/ylab/validation.test/class.php

Собственные правила валидации

Создать собственные правила валидации можно в компоненте в отдельном методе или методе 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;
});

统计信息

  • 总下载量: 287
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 9
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 8
  • Watchers: 2
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-11-12

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固