gpt4 book ai didi

php - 过滤器和验证器被添加了两次

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:50:19 25 4
gpt4 key购买 nike

我在 zf2 github 上写过它还没有人回答。但也许这不是错误,我做错了什么。这是我的代码:

字段集

class TestFieldset extends Fieldset implements
InputFilterProviderInterface
{
public function __construct($name)
{
parent::__construct($name);

$this->add(array(
'type' => 'text',
'name' => 'test'
));
}

public function getInputFilterSpecification() {
return array(
'test' => array(
'filters' => array(
array('name' => 'StringTrim')
),
'validators' => array(
array('name' => 'NotEmpty')
)
)
);
}
}

表单

class TestForm extends Form
{
public function __construct($name = null, $options = array()) {
parent::__construct($name, $options);

$fieldset = new TestFieldset('test-fieldset');

$this->add($fieldset);
}
}

Controller Action

public function indexAction()
{
$form = new \CRM\Form\TestForm;
$form->setData(array('test-fieldset' => array('test' => 'test value')));
$form->isValid();

$inputFilter = $form->getInputFilter()
->get('test-fieldset')
->get('test');

$filters = $inputFilter->getFilterChain()
->getFilters();

$validators = $inputFilter->getValidatorChain()
->getValidators();

var_dump($filters);
var_dump($validators);
}

结果

object(Zend\Stdlib\PriorityQueue)[678]
protected 'queueClass' => string 'Zend\Stdlib\SplPriorityQueue' (length=28)
protected 'items' =>
array (size=2)
0 =>
array (size=2)
'data' =>
object(Zend\Filter\StringTrim)[682]
...
'priority' => int 1000
1 =>
array (size=2)
'data' =>
object(Zend\Filter\StringTrim)[693]
...
'priority' => int 1000
protected 'queue' =>
object(Zend\Stdlib\SplPriorityQueue)[683]
protected 'serial' => int 2147483645
array (size=2)
0 =>
array (size=2)
'instance' =>
object(Zend\Validator\NotEmpty)[686]
protected 'constants' =>
array (size=13)
...
protected 'messageTemplates' =>
array (size=2)
...
protected 'options' =>
array (size=1)
...
protected 'value' => string 'test value' (length=10)
protected 'abstractOptions' =>
array (size=7)
...
'breakChainOnFailure' => boolean false
1 =>
array (size=2)
'instance' =>
object(Zend\Validator\NotEmpty)[697]
protected 'constants' =>
array (size=13)
...
protected 'messageTemplates' =>
array (size=2)
...
protected 'options' =>
array (size=1)
...
protected 'value' => string 'test value' (length=10)
protected 'abstractOptions' =>
array (size=7)
...
'breakChainOnFailure' => boolean false

如您所见,有两个 StringTrim 过滤器和两个 NotEmpty 验证器。这很烦人,尤其是当我使用 File\RenameUpload 过滤器并尝试重命名和移动已重命名的文件时。

最佳答案

此错误已在 zf 2.2.5 中修复 https://github.com/zendframework/zf2/issues/5270

关于php - 过滤器和验证器被添加了两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19045681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com