Обновите менеджер плагинов Validator для пользовательской реализации - PullRequest
0 голосов
/ 01 июня 2018

Я создал несколько элементов валидатора, которые выходят из общего Zend\Validator\<validator>.Моя цель состоит в том, чтобы сделать их доступными, так как это был стандартный псевдоним по умолчанию.Позвольте мне объяснить подробнее.

Моя цель состоит в том, чтобы включить в форму включение с использованием той же записи псевдонима, например:

    $inputFilterFactory = new InputFilterFactory();
    $inputFilter = $inputFilterFactory->createInputFilter([
        'foo' => [
            'name'       => 'foo',
            'required'   => false,
            'validators' => [
                [
                    'name' => 'NotEmpty',
                ],
                [
                    'name' => 'StringLength',
                    'options' => [
                        'min' => 3,
                        'max' => 5,
                    ],
                ],
            ],
        ],
     ]);

Здесь вы можете видеть, что валидатор NotEmpty ссылается Zend\Validator\NotEmpty, когда я хочу, чтобы он ссылался на Project\Validator\NotEmpty, и что валидатор StringLength ссылается Zend\Validator\StringLength, когда я хочу, чтобы он ссылался Project\Validator\StringLength

Если вы посмотрите здесь: https://github.com/zendframework/zend-validator/blob/master/src/ValidatorPluginManager.php Вы увидите, что именно здесь валидаторы определены для заполнения в диспетчере сервисов.

Моим основным решением было бы полностью создать новый ValidatorPluginManager и перепрограммировать диспетчер сервисов для использования пользовательскихМенеджер плагинов валидатора (я твердо уверен в этом, потому что в конечном итоге у меня будет куча расширенных валидаторов, поэтому я бы хотел полностью переписать диспетчер плагинов валидатора

Если это не доступно, тогда id хотелось бы узнатькаков следующий лучший шаг, соответствующий тому же псевдониму, который в настоящее время поставляется с валидаторами по умолчанию.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...