如何在 API 工具 GUI 中添加带有参数的自定义验证器?
我写了一个自定义验证器+工厂。
我那里有一些 setter+getter。
如何按照以下方式配置此验证器:
- 显示在 GUI 的可用验证器列表中(我正在添加一个工厂来
validators.factories
键入module.config.php
- 允许用户选择参数(例如
maxlen
,minlen
等)。现在它只显示一个可用的选项:breakchainonfailure
类似于 StringLength 验证器:
我的工厂:
<?php
namespace My\Validator\DoctrineConnected\Factory;
use Interop\Container\ContainerInterface;
use Interop\Container\Exception\ContainerException;
use Laminas\ServiceManager\Exception\ServiceNotCreatedException;
use Laminas\ServiceManager\Exception\ServiceNotFoundException;
use Laminas\ServiceManager\Factory\AbstractFactoryInterface;
class ExistsValidatorFactory implements AbstractFactoryInterface {
/**
* Create an object
*
* @param ContainerInterface $container
* @param string $requestedName
* @param null|array $options
* @return object
* @throws ServiceNotFoundException if unable to resolve the service.
* @throws ServiceNotCreatedException if an exception is raised when
* creating a service.
* @throws ContainerException if any other error occurs
*/
public function __invoke(ContainerInterface $container, $requestedName, array $options = null) {
$entityManger = $container->get('doctrine.entitymanger.orm_default');
return new $requestedName($entityManger);
}
public function canCreate(ContainerInterface $container, $requestedName)
{
return class_exists($requestedName);
}
}